MySQL ON DUPLICATE KEY UPDATE
: Mengurus Sisipan dan Kemas Kini Dengan Cekap
Operasi pangkalan data selalunya memerlukan memasukkan baris baharu sambil mengendalikan kemas kini untuk baris sedia ada secara serentak dengan kekunci unik yang sepadan. Kenyataan INSERT ... ON DUPLICATE KEY UPDATE
MySQL yang berkuasa menyelesaikan masalah biasa ini dengan elegan.
Cabaran: Mengelakkan Penyertaan Pendua
Matlamatnya ialah untuk menambah baris baharu pada jadual, tetapi jika baris dengan kunci unik yang sama (seperti ID) sudah wujud, kemas kini baris sedia ada itu dan bukannya membuat pendua.
Penyelesaian: INSERT ... ON DUPLICATE KEY UPDATE
Arahan tunggal ini mencapai kedua-dua kefungsian sisipan dan kemas kini:
Contoh Ilustrasi:
Pertimbangkan pertanyaan ini:
<code class="language-sql">INSERT INTO my_table (id, name, age) VALUES (1, 'Alice', 30) ON DUPLICATE KEY UPDATE name = 'Alice', age = 30;</code>
Berikut ialah pecahan:
id = 1
, name = 'Alice'
dan age = 30
.id = 1
sudah wujud, klausa ON DUPLICATE KEY UPDATE
berkuat kuasa.name
dan age
bagi baris sedia ada dikemas kini kepada nilai yang disediakan dalam pertanyaan. Ini menggabungkan data baharu dengan rekod sedia ada dengan berkesan.Pendekatan ini memperkemas pengurusan pangkalan data, menghalang entri pendua dan memastikan ketekalan data dengan satu pernyataan SQL yang ringkas dan ringkas.
Atas ialah kandungan terperinci Bagaimanakah `KEMASKINI KUNCI DUPLICATE` MySQL Boleh Mengendalikan Kedua-dua Sisipan dan Kemas Kini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!