Menggantikan Rentetan dalam Pelbagai Rekod menggunakan MySQL REPLACE()
Untuk membetulkan kerosakan pangkalan data akibat melarikan diri yang tidak betul, fungsi REPLACE() MySQL menyediakan penyelesaian untuk menggantikan rentetan yang salah dalam berbilang dengan cekap rekod.
Sintaks fungsi REPLACE() dalam pertanyaan ialah:
UPDATE MyTable SET StringColumn = REPLACE(StringColumn, 'SearchForThis', 'ReplaceWithThis') WHERE SomeOtherColumn LIKE '%PATTERN%'
Sebagai contoh, pertimbangkan situasi di mana rentetan yang mengandungi '<' watak telah dilepaskan secara salah sebagai '<'. Untuk membetulkan ini, pertanyaan berikut boleh digunakan:
UPDATE MyTable SET StringColumn = REPLACE(StringColumn, '&lt;', '<') WHERE articleItem LIKE '%&lt;%';
Perhatikan bahawa, melainkan klausa WHERE meningkatkan prestasi dengan ketara, ia boleh ditinggalkan, kerana menggantikan semua rekod mungkin akan menjadi lebih pantas.
Panggilan berbilang REPLACE() juga boleh dirantai:
UPDATE MyTable SET StringColumn = REPLACE(REPLACE(StringColumn, 'GREATERTHAN', '>'), 'LESSTHAN', '<')
Selain itu, REPLACE() boleh digunakan pada peringkat pemilihan:
SELECT REPLACE(MyURLString, 'GREATERTHAN', '>') AS MyURLString FROM MyTableAtas ialah kandungan terperinci Bagaimanakah Fungsi REPLACE() MySQL Boleh Membetulkan Berbilang Rekod Rentetan Yang Rosak dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!