Mencegah Penambahan Auto pada Sisipan Duplikat dalam MySQL
Apabila bekerja dengan jadual MySQL yang mengandungi kunci utama penambahan automatik, ia mungkin mencabar untuk mengelakkan penambahan apabila memasukkan baris pendua. Masalah ini timbul terutamanya apabila bekerja dengan medan unik dan menggunakan pernyataan seperti INSERT IGNORE.
Untuk menangani isu ini, pernyataan sisipan yang diubah suai boleh digunakan:
INSERT INTO tablename (tag) SELECT $tag FROM tablename WHERE NOT EXISTS( SELECT tag FROM tablename WHERE tag = $tag ) LIMIT 1
Pernyataan ini menyemak sama ada teg sudah wujud dalam jadual menggunakan pertanyaan SELECT bersarang. Jika ia wujud, penyataan INSERT tidak dilaksanakan, menghalang kenaikan automatik. Pendekatan ini cekap jika jadual diindeks dengan betul, kerana pertanyaan SELECT tambahan akan menjadi pantas.
Untuk sisipan teg pertama, semakan berasingan untuk jadual kosong atau pembenihan jadual dengan tag yang kerap digunakan diperlukan . Pendekatan ini berkesan menghalang penambahan kunci utama yang tidak perlu untuk percubaan memasukkan pendua.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Peningkatan Auto dalam MySQL Apabila Memasukkan Baris Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!