MySQL: Menggunakan ON DUPLICATE KEY dengan Composite Lajur
Apabila bekerja dengan jadual yang tidak mempunyai lajur unik, melakukan sisipan dan kemas kini yang cekap boleh mencabar. Satu penyelesaian ialah menggunakan klausa ON DUPLICATE KEY MySQL, yang membenarkan kemas kini bersyarat berdasarkan kunci yang ditentukan.
Dalam kes jadual dengan gabungan nilai col_1 dan col_2 berfungsi sebagai pengecam unik, ON Pertanyaan DUPLICATE KEY boleh dibina menggunakan kunci komposit. Dengan mencipta indeks UTAMA atau UNIK pada kedua-dua lajur, anda boleh mendayakan penggunaan klausa ini.
// create a composite index CREATE INDEX my_composite_index ON my_table (column1, column2);
// insert or update using ON DUPLICATE KEY INSERT INTO my_table (column1, column2, column3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE column3=column3+1;
Pertanyaan ini akan memasukkan baris baharu jika gabungan nilai col_1 dan col_2 belum lagi wujud. Jika baris yang sepadan ditemui, ia akan mengemas kini nilai lajur3 dengan menambahnya sebanyak 1.
Dengan menggunakan kunci komposit bersama-sama dengan ON DUPLICATE KEY, anda boleh mencapai kemas kini dan sisipan bersyarat yang cekap, walaupun tanpa kehadiran daripada satu lajur unik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan dan Mengemas Kini Baris dengan Cekap dalam MySQL Menggunakan Kekunci Komposit dan ON DUPLICATE KEY?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!