Memasukkan baris ke dalam jadual dengan kekunci unik boleh menimbulkan cabaran apabila anda perlu mengelakkan penyertaan pendua. Sintaks standard untuk mengendalikan pendua adalah menggunakan INSERT ... ON DUPLICATE KEY UPDATE ..., yang mengemas kini baris sedia ada dengan nilai yang disediakan. Walau bagaimanapun, bagaimana jika anda tidak mahu melakukan sebarang kemas kini dan hanya mengabaikan sisipan pendua?
Nasib baik, terdapat penyelesaian untuk senario ini. Daripada menggunakan klausa KEMASKINI, anda boleh menggunakan sintaks berikut:
INSERT ... ON DUPLICATE KEY UPDATE>
Dengan memberikan kunci utama kembali kepada dirinya sendiri, kenyataan ini pada dasarnya tidak melakukan apa-apa apabila kunci pendua ditemui. Baris akan dilangkau tanpa sebarang ralat atau tindakan kemas kini.
Pilihan lain, sesuai jika anda tidak mengambil berat tentang kemungkinan ralat, ialah menggunakan INSERT IGNORE:
INSERT IGNORE INTO <table_name> (...) VALUES (...)
Pernyataan ini akan cuba memasukkan baris, mengabaikan sebarang ralat yang mungkin timbul disebabkan oleh kunci pendua atau faktor lain. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa menggunakan INSERT IGNORE boleh mempunyai had tertentu, seperti keletihan medan autoincrement dan kemungkinan ralat kunci asing.
Atas ialah kandungan terperinci Bagaimana untuk Mengabaikan Kunci Pendua Apabila Memasukkan Data ke dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!