Sostituisci la stringa in MySQL tramite il database

Problema

Come si sostituisce una stringa con un'altra in tutte le tabelle di un database?

Sostituire richiede che dia il nome di una tabella e una colonna, quindi non è utilizzabile in questo modo.

Esempio :

Sostituisci "stringa1" con "parola1" nel database "prova" nelle 50 tabelle che compongono una singola riga.

Soluzione

Prima di procedere assicurati di fare un backup del tuo lavoro!

Fare clic qui per saperne di più sul backup e sul ripristino del database mysql:

//ccm.net/faq/2884-backup-restore-mysql-database

Se si utilizza MySQL 5.1, è possibile utilizzare il database information_schema, che contiene tra l'altro l'elenco di tutte le tabelle nel database ...

quindi puoi ad esempio essere utilizzato per generare la tua richiesta.

Ex:

 SELECT CONCAT ('UPDATE test.', TABLE_NAME, 'SET field1 = REPLACE (field1, "stringa1", "stringa1");') INFORMATION_SCHEMA.TABLES FROM WHERE TABLE_SCHEMA = 'test'; 

-> Questa query ti darà un risultato che puoi semplicemente incollare nel client:

 test.table1 UPDATE SET field1 = REPLACE (field1, "stringa1", "stringa1") test.table2 UPDATE SET field1 = REPLACE (campo1, "stringa1", "stringa1"); 
Articolo Precedente Articolo Successivo

I Migliori Consigli