Apabila cuba memasukkan data ke dalam jadual yang menguatkuasakan kekangan UNIK pada medan tertentu, seperti "tag" dalam ini kes, menghadapi nilai pendua boleh membawa kepada ralat. Soalan ini meneroka cara mengendalikan situasi sedemikian, dengan tumpuan khusus untuk mengabaikan pendua.
Contoh pertama yang diberikan menunjukkan percubaan untuk memasukkan berbilang nilai ke dalam jadual "table_tags", dengan niat untuk mengabaikan sebarang teg pendua. Walau bagaimanapun, menggunakan "INSERT INTO ... ON DUPLICATE KEY IGNORE" tidak disyorkan, kerana ia berpotensi untuk mengabaikan semua ralat, bukan hanya pelanggaran kunci pendua.
Sebaliknya, penyelesaian yang disyorkan ialah menggunakan "INSERT KE ... PADA DUPLICATE KEY UPDATE tag=tag;" sintaks. Pendekatan ini membolehkan anda menentukan secara eksplisit perkara yang harus berlaku sekiranya berlaku pelanggaran kunci pendua, dalam kes ini hanya mengemas kini rekod sedia ada dengan nilai yang sama.
Menggunakan sintaks ini memastikan kunci pendua tidak diabaikan, tetapi sebaliknya nilai sedia ada mereka dikekalkan. Kunci pendua diabaikan dengan berkesan, tetapi pertanyaan itu tidak menghasilkan sebarang ralat, mengakibatkan "Pertanyaan OK, 0 baris terjejas" seperti yang dijangkakan.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Kunci Pendua dalam Penyata INSERT MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!