Mencegah Peningkatan Auto pada Sisipan Duplikat MySQL
Apabila menggunakan MySQL 5.1.49, memasukkan baris pendua ke dalam jadual InnoDB dengan penambahan automatik kunci utama boleh mengakibatkan penambahan medan ID walaupun sisipan diabaikan. Ini boleh membawa kepada jurang yang tidak diingini dalam jujukan ID.
Penyelesaian
Untuk mengelakkan kenaikan automatik pada sisipan pendua, anda boleh menggunakan pernyataan INSERT yang diubah suai:
INSERT INTO tablename (tag) SELECT $tag FROM tablename WHERE NOT EXISTS( SELECT tag FROM tablename WHERE tag = $tag ) LIMIT 1
Di mana $tag ialah nilai tag yang ingin anda masukkan. Pendekatan ini melakukan semakan untuk melihat sama ada teg sudah wujud sebelum mencuba memasukkan. Jika teg tidak wujud, sisipan dilakukan dan kaunter kenaikan automatik tidak terjejas.
Kelebihan Pendekatan ini:
Dengan menggunakan pernyataan INSERT yang diubah suai ini, anda boleh menghalang pembilang kenaikan automatik daripada meningkat pada sisipan pendua, memastikan urutan ID yang berjujukan dan bebas jurang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Peningkatan Auto MySQL pada Sisipan Duplikat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!