Memasukkan baris pendua ke dalam jadual boleh mengakibatkan tingkah laku yang tidak dijangka dengan mekanisme kenaikan automatik MySQL. Dalam MySQL 5.1.49, ID kenaikan automatik terus meningkat walaupun pernyataan INSERT IGNORE digunakan. Ini boleh membawa kepada jurang yang tidak diingini dalam jujukan ID.
Untuk menyelesaikan isu ini, anda boleh menggunakan strategi berikut:
INSERT INTO tablename (tag) SELECT $tag FROM tablename WHERE NOT EXISTS( SELECT tag FROM tablename WHERE tag = $tag ) LIMIT 1
Pernyataan ini mula-mula menyemak sama ada teg sudah wujud dalam jadual. Jika tidak, baris dimasukkan tanpa mencetuskan mekanisme autokenaikan. Subkueri memastikan bahawa sisipan hanya berlaku sekali.
Perlu ambil perhatian bahawa penyelesaian ini mungkin tidak sesuai untuk semua senario. Jika prestasi membimbangkan, anda mungkin perlu menilai pilihan lain, seperti menggunakan jadual berasingan untuk menyimpan nilai unik dan merujuknya dalam jadual utama anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Jurang Peningkatan Auto Apabila Memasukkan Baris Pendua dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!