Erstatt streng i MySQL via database
Utgave
Hvordan erstatter du en streng med en annen i alle tabellene i en database?
Erstatt krever at han gir navnet på et bord og en kolonne, så det er ikke brukbart slik.
Eksempel:
Erstatt 'string1' med 'word1' i database 'test' på de 50 tabellene som komponerer en enkelt linje.
Løsning
Før du fortsetter, sørg for å ta sikkerhetskopi av arbeidet ditt!
Vennligst klikk her for å vite mer om sikkerhetskopiering og gjenoppretting av mysql-databasen:
//ccm.net/faq/2884-backup-restore-mysql-database
Hvis du bruker MySQL 5.1, kan du bruke informasjonsskjema databasen, som blant annet inneholder listen over alle tabeller i databasen din ...
da kan du for eksempel bli brukt til å generere forespørselen din.
ex:
VELG KONCAT ('UPDATE test.', TABLE_NAME, 'SET field1 = REPLACE (field1, ' string1 ', ' string1 ');') INFORMATION_SCHEMA.TABLES FROM WHERE TABLE_SCHEMA = 'test';
-> Denne spørringen gir deg et resultat som du bare kan lime inn i klienten:
test.table1 UPDATE SET feltet1 = REPLACE (field1, "string1", "string1") test.table2 UPDATE SET field1 = REPLACE (felt1, "streng1", "streng1");