Mengemaskini Berbilang Baris MySQL dengan Pelbagai Nilai dengan Cekap
Panduan ini menangani cabaran biasa untuk mengemas kini berbilang baris pangkalan data dengan nilai unik menggunakan satu pertanyaan MySQL. Walaupun beberapa kaedah wujud, pendekatan ini menawarkan kejelasan dan kecekapan.
Pendekatan Lebih Jelas Menggunakan Penyata KES
Kaedah konvensional, selalunya melibatkan pernyataan IF()
bersarang, menjadi rumit dengan pelbagai syarat. Alternatif unggul memanfaatkan kuasa CASE
pernyataan:
<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>
Pertanyaan diperkemas ini menggunakan CASE
untuk menetapkan nilai cod_user
secara dinamik berdasarkan user_role
, sambil pada masa yang sama menetapkan date
kepada nilai yang konsisten untuk semua baris yang sepadan.
Pertimbangan Utama
Pendekatan gabungan CASE
dan WHERE
ini menawarkan penyelesaian berstruktur dan mudah difahami untuk mengemas kini berbilang baris dengan nilai yang pelbagai dalam MySQL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Kemas Kini Berbilang Baris MySQL dengan Nilai Berbeza Menggunakan Pertanyaan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!