Cserélje ki a karakterláncot a MySQL adatbázisban
Probléma
Hogyan cserélje ki a karakterláncot egy másik adatbázisban az összes táblában?
A Replace megköveteli, hogy megadja az asztal és az oszlop nevét, így ez nem használható.
Példa :
Cserélje ki a 'string1' szót a 'word1' kifejezéssel az 50 'táblázat' teszt 'adatbázisában, amelyek egyetlen sort alkotnak.
Megoldás
Mielőtt továbblépne, győződjön meg arról, hogy készítsen biztonsági másolatot a munkáról!
Kérjük, kattintson ide, ha többet szeretne megtudni a mysql adatbázis biztonsági mentéséről és visszaállításáról:
//ccm.net/faq/2884-backup-restore-mysql-database
Ha a MySQL 5.1-et használja, használhatja az information_schema adatbázist, amely többek között tartalmazza az adatbázisában található összes táblázat listáját ...
akkor például fel lehet használni a kérés létrehozására.
Volt:
SELECT CONCAT ('UPDATE teszt' ', TABLE_NAME, ' SET mező1 = REPLACE (mező1, "string1", "string1"); ') INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA =' teszt ';
-> Ez a lekérdezés olyan eredményt ad, amelyet csak beilleszthet az ügyfélbe:
test.table1 UPDATE SET mező1 = REPLACE (mező1, "string1", "string1") test.table2 UPDATE SET mező1 = REPLACE (mező1, "string1", "string1");