Rumah >pangkalan data >tutorial mysql >Bagaimana Mengemas kini Berbilang Baris MySQL dengan Cekap dengan Nilai Berbeza?
Pengenalan
Mengemas kini berbilang baris dengan nilai berbeza mungkin mencabar, terutamanya dengan keadaan WHERE yang kompleks. Artikel ini bertujuan untuk memudahkan proses ini dengan menerangkan secara terperinci dua kaedah yang paling biasa digunakan: pertanyaan berbilang kenyataan dan kemas kini bersyarat.
Kaedah 1: Pertanyaan berbilang pernyataan
Pertanyaan berbilang pernyataan membolehkan anda melaksanakan berbilang perintah KEMASKINI dalam satu pertanyaan. Walaupun kaedah ini mudah dan mudah, ia boleh menjadi sukar untuk set data yang besar. Contoh yang anda berikan boleh dilaksanakan seperti berikut:
<code class="language-sql">UPDATE table_users SET cod_user = '622057', date = '12082014' WHERE user_rol = 'student' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '2913659', date = '12082014' WHERE user_rol = 'assistant' AND cod_office = '17389551'; UPDATE table_users SET cod_user = '6160230', date = '12082014' WHERE user_rol = 'admin' AND cod_office = '17389551';</code>
Kaedah 2: Kemas kini bersyarat menggunakan pernyataan CASE
Kemas kini bersyarat membolehkan anda menggunakan nilai berbeza pada baris berbeza berdasarkan syarat. Contoh yang anda berikan boleh diutarakan semula seperti berikut:
<code class="language-sql">UPDATE table_users SET cod_user = CASE WHEN user_role = 'student' THEN '622057' WHEN user_role = 'assistant' THEN '2913659' WHEN user_role = 'admin' THEN '6160230' END, date = '12082014' WHERE user_role IN ('student', 'assistant', 'admin') AND cod_office = '17389551';</code>
Kaedah ini lebih cekap daripada pertanyaan berbilang pernyataan, terutamanya dalam kes set data yang besar. Ia juga menyediakan cara yang lebih bersih dan jelas untuk mengemas kini berbilang baris rekod.
Nota:
Pastikan anda menyimpan tarikh dalam format asli pangkalan data yang konsisten untuk mengelakkan masalah yang mungkin berlaku.
Atas ialah kandungan terperinci Bagaimana Mengemas kini Berbilang Baris MySQL dengan Cekap dengan Nilai Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!