Ganti rentetan dalam MySQL melalui pangkalan data

Isu

Bagaimana anda mengganti rentetan dengan yang lain dalam semua jadual dalam pangkalan data?

Ganti memerlukan dia memberikan nama jadual dan lajur, jadi ia tidak boleh digunakan seperti itu.

Contoh:

Gantikan 'string1' dengan 'word1' dalam 'pangkalan data' pada 50 jadual yang mengarang satu baris.

Penyelesaian

Sebelum meneruskan pastikan anda membuat sandaran kerja anda!

Sila klik di sini untuk mengetahui lebih lanjut mengenai sandaran dan memulihkan pangkalan data mysql:

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

Jika anda menggunakan MySQL 5.1, anda boleh menggunakan pangkalan data information_schema, yang mengandungi antara senarai semua jadual dalam pangkalan data anda ...

maka anda boleh misalnya digunakan untuk menghasilkan permintaan anda.

Ex:

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

-> Pertanyaan ini akan memberi anda hasil yang anda boleh tampal dalam klien:

 test.table1 SET UPDATE SET1 = REPLACE (field1, "string1", "string1") test.table2 UPDATE SET field1 = REPLACE (field1, "string1", "string1"); 
Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama