Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengemas kini Berbilang Rekod Secara Cekap Secara serentak dalam SQL?
Mengemas kini Berbilang Rekod Serentak dalam SQL
Apabila berurusan dengan jadual yang mengandungi tetapan konfigurasi atau data lain yang berkaitan, ia sering menjadi perlu untuk mengemas kini berbilang rekod serentak. Tugas ini boleh dicapai dengan cekap menggunakan keupayaan kemas kini lanjutan SQL.
Dalam senario yang dibentangkan, anda mempunyai jadual bernama config dengan dua lajur: config_name dan config_value. Percubaan awal anda untuk mengemas kini berbilang rekod menggunakan pendekatan naif menghasilkan ralat. Untuk menangani perkara ini, pertimbangkan untuk menggunakan salah satu daripada teknik berikut:
Sintaks Kemas Kini Berbilang Jadual:
Kaedah ini melibatkan penggabungan jadual sasaran beberapa kali untuk mencipta berbilang sementara -jadual set data. Anda kemudiannya boleh mengemas kini berbilang rekod dengan merujuk kepada setiap jadual secara eksplisit dalam klausa SET:
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';
Kemas Kini Bersyarat:
Sebagai alternatif, anda boleh menggunakan kemas kini bersyarat untuk kemas kini berbilang rekod berdasarkan kriteria yang berbeza. Dalam kes ini, anda akan menggunakan pernyataan CASE dalam klausa SET untuk menentukan nilai yang dikehendaki bagi setiap nama_konfigurasi:
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');
Kedua-dua pendekatan secara berkesan mengemas kini berbilang rekod dalam satu pertanyaan, membolehkan pengurusan data yang cekap dalam anda Aplikasi SQL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Berbilang Rekod Secara Cekap Secara serentak dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!