Rumah >pangkalan data >tutorial mysql >Mengapa Kaunter Kenaikan Automatik InnoDB Saya Terus Meningkat Walaupun Kekunci Pendua?

Mengapa Kaunter Kenaikan Automatik InnoDB Saya Terus Meningkat Walaupun Kekunci Pendua?

Barbara Streisand
Barbara Streisandasal
2024-11-13 11:26:02446semak imbas

Why Does My InnoDB Auto-Increment Counter Keep Incrementing Despite Duplicate Keys?

Isu Penambahan Auto-InnoDB pada Kekunci Duplikat

Dalam jadual pangkalan data InnoDB dengan kunci utama ditetapkan kepada kenaikan automatik, ia adalah diperhatikan bahawa kaunter kenaikan automatik terus meningkat walaupun kekunci pendua dikesan. Tingkah laku ini membawa kepada ID bukan berturut-turut, seperti yang ditunjukkan dalam contoh yang disediakan. Untuk menyelesaikan isu ini, pertimbangkan untuk melaksanakan penyelesaian berikut:

Mengubah suai Konfigurasi MySQL

Dengan menetapkan pilihan konfigurasi innodb_autoinc_lock_mode kepada "0", anda boleh bertukar kepada mod kunci kenaikan automatik tradisional. Mod ini memastikan bahawa semua penyataan INSERT akan memberikan nilai berturut-turut kepada lajur autokenaikan, walaupun semasa cuba memasukkan kunci pendua.

SET GLOBAL innodb_autoinc_lock_mode = 0;

Adalah penting untuk ambil perhatian bahawa berturut-turut ID tidak boleh dipercayai untuk sebarang logik aplikasi. Tujuan utama mereka adalah untuk menyediakan pengecam unik untuk setiap rekod. Walaupun ID berturut-turut mungkin menyenangkan dari segi estetika, ID tersebut tidak menawarkan sebarang faedah praktikal dan berpotensi membawa kepada isu dalam sistem yang diedarkan.

Atas ialah kandungan terperinci Mengapa Kaunter Kenaikan Automatik InnoDB Saya Terus Meningkat Walaupun Kekunci Pendua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn