Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Kemas Kini Berbilang Rekod Pangkalan Data dengan Pertanyaan SQL Tunggal?

Bagaimanakah Saya Boleh Kemas Kini Berbilang Rekod Pangkalan Data dengan Pertanyaan SQL Tunggal?

DDD
DDDasal
2024-12-07 10:52:12374semak imbas

How Can I Update Multiple Database Records with a Single SQL Query?

Kemas kini Berbilang Rekod dengan Satu SQL Query

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.

Menggunakan Sintaks Kemas Kini Berbilang Jadual

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.

Menggunakan Kemas Kini Bersyarat

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn