Mengatasi Ralat Kunci Pendua: Mengabaikan atau Mengemas kini?
Apabila bekerja dengan kunci unik, adalah perkara biasa untuk menghadapi situasi di mana entri pendua mungkin timbul. Jika anda ingin mengendalikan pendua ini dengan baik, anda boleh mempertimbangkan untuk menggunakan sama ada INSERT IGNORE atau ON DUPLICATE KEY UPDATE.
Jika matlamat anda adalah untuk mengabaikan tag pendua dan terus memasukkan yang berikutnya, menggunakan INSERT IGNORE mungkin kelihatan seperti pilihan yang sesuai. Walau bagaimanapun, perlu diingat bahawa INSERT IGNORE mengabaikan semua ralat, yang mungkin membawa kepada isu integriti data yang berpotensi.
Pendekatan yang lebih disyorkan ialah menggunakan ON DUPLICATE KEY UPDATE bersama dengan kunci unik. Dalam kes anda, teg ialah kunci unik. Pertanyaan berikut menunjukkan cara untuk mencapai ini:
INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c') ON DUPLICATE KEY UPDATE tag=tag;
Dengan menggunakan pendekatan ini, pangkalan data akan mengemas kini teg sedia ada dengan nilai baharu, menghalang entri pendua. Setelah pelaksanaan berjaya, anda akan menerima output pertanyaan yang serupa dengan:
Query OK, 0 rows affected (0.07 sec)
Atas ialah kandungan terperinci Kunci Pendua: Abaikan atau Kemas Kini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!