Kunci Komposit untuk MySQL 'KEMASKINI PADA KUNCI PENDUPLICATE'
Soalan:
Bagaimana anda boleh melakukan dengan cekap pertanyaan yang mengemas kini baris jika gabungan nilai tertentu sudah wujud (menggunakan 'KEMASKINI HIDUP DUPLICATE KEY'), tetapi hanya jika kunci unik ditakrifkan?
Jawapan:
MySQL membenarkan penciptaan kunci komposit, yang terdiri daripada berbilang lajur. Dengan mentakrifkan kunci komposit, anda boleh menggunakan sintaks 'KEMASKINI PADA KUNCI DUPLICATE' walaupun kekangan unik melibatkan gabungan nilai.
Pelaksanaan:
Buat Komposit Indeks:
Gunakan sintaks berikut untuk mencipta indeks pada berbilang lajur:
CREATE INDEX index_name ON table_name (column1, column2);
Sisipkan atau Kemas Kini:
Setelah indeks komposit dibuat, anda boleh menggunakan pertanyaan berikut untuk memasukkan baris baharu atau mengemas kini baris sedia ada berdasarkan komposit kunci:
INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON DUPLICATE KEY UPDATE column3 = column3 + 1;
Dalam contoh ini, nilai 'column1' dan 'column2' bertindak sebagai kunci komposit. Jika baris dengan nilai 'column1' dan 'column2' yang sama sudah wujud, nilai 'column3' akan ditambah satu. Jika tidak, baris baharu akan disisipkan.
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Kekunci Komposit dengan `KEMASKINI PADA KUNCI PENDULIK` MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!