Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melakukan Kemas Kini Berbilang Rekod dalam Pertanyaan MySQL Tunggal?
Mengemaskini Berbilang Rekod MySQL dengan Cekap
Walaupun fungsi INSERT berbilang baris MySQL diketahui secara meluas, keupayaannya untuk mengemas kini berbilang rekod secara serentak sering diabaikan. Teknik ini meningkatkan kecekapan dengan ketara berbanding dengan melaksanakan kenyataan KEMASKINI individu.
Pertimbangkan jadual contoh ini:
<code>Name id Col1 Col2 Row1 1 6 1 Row2 2 2 3 Row3 3 9 5 Row4 4 16 8</code>
Daripada berbilang kenyataan UPDATE yang berasingan seperti ini:
<code>UPDATE table SET Col1 = 1 WHERE id = 1; UPDATE table SET Col1 = 2 WHERE id = 2; UPDATE table SET Col2 = 3 WHERE id = 3; UPDATE table SET Col1 = 10 WHERE id = 4; UPDATE table SET Col2 = 12 WHERE id = 4;</code>
Anda boleh mencapai hasil yang sama dengan satu pertanyaan yang lebih cekap:
<code>INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);</code>
Ini memanfaatkan klausa ON DUPLICATE KEY UPDATE
. Jika baris dengan id
yang ditentukan sudah wujud, nilai Col1
dan Col2
yang sepadan akan dikemas kini. Jika baris itu tidak wujud, baris baharu akan disisipkan. Pendekatan ini jauh lebih pantas dan lebih mesra sumber daripada melaksanakan berbilang pertanyaan KEMASKINI individu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Kemas Kini Berbilang Rekod dalam Pertanyaan MySQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!