Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Kemas Kini Berbilang Rekod Pangkalan Data dengan Pertanyaan SQL Tunggal?
Mengemas kini sejumlah besar rekod dalam pangkalan data boleh memakan masa dan tugasan berulang jika dilakukan secara individu. Untuk menyelaraskan proses, adalah mungkin untuk mengemas kini berbilang rekod serentak dengan satu pertanyaan SQL.
Satu pendekatan adalah untuk menggunakan sintaks kemas kini berbilang jadual, yang membolehkan anda menyertai berbilang jadual dan mengubah suai lajur masing-masing dalam satu pernyataan.
Sebagai contoh, pertimbangkan contoh berikut:
UPDATE config t1 JOIN config t2 ON t1.config_name = 'name1' AND t2.config_name = 'name2' SET t1.config_value = 'value', t2.config_value = 'value2';
Dalam pertanyaan ini, kami menyertai dua kejadian jadual konfigurasi, berlabel t1 dan t2. Klausa ON mentakrifkan kriteria gabungan, memastikan rekod yang akan dikemas kini sepadan dengan nilai config_name tertentu. Dalam klausa SET, kami menetapkan nilai baharu pada lajur config_value untuk kedua-dua t1 dan t2.
Pilihan lain ialah menggunakan kemas kini bersyarat , yang membolehkan anda menetapkan nilai yang berbeza berdasarkan yang ditentukan syarat.
Pertimbangkan pertanyaan berikut:
UPDATE config SET config_value = CASE config_name WHEN 'name1' THEN 'value' WHEN 'name2' THEN 'value2' ELSE config_value END WHERE config_name IN('name1', 'name2');
Di sini, kami menggunakan pernyataan CASE untuk mentakrifkan nilai baharu bagi lajur config_value berdasarkan nilai config_name. Untuk nama 'name1' dan 'name2', nilai dikemas kini dengan sewajarnya; jika tidak, nilai semasa dikekalkan. Klausa WHERE mengehadkan kemas kini kepada rekod dengan nilai config_name yang sepadan dengan kriteria yang diberikan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Kemas Kini Berbilang Rekod Pangkalan Data dengan Pertanyaan SQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!