Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan 0 sebagai Nilai Auto-Kenaikan Sah dalam MySQL?
Menguatkuasakan 0 sebagai Nilai Penambahan Auto yang Sah dalam MySQL
Dalam pelbagai senario, mungkin perlu memaksa MySQL untuk menerima 0 sebagai nilai autokenaikan yang sah. Keadaan ini timbul apabila jadual pangkalan data mengandungi medan kunci utama dengan sifat kenaikan automatik dan keperluan untuk memasukkan 0 sebagai kunci utama untuk rekod tertentu.
Sebagai contoh, pertimbangkan jadual pangkalan data dengan medan ID pengguna (uid) ditetapkan sebagai kunci utama kenaikan automatik. Secara lalai, MySQL menganggap 0 sebagai nilai tidak sah untuk medan kenaikan automatik. Ini bermakna percubaan untuk memasukkan 0 ke dalam medan uid akan menyebabkan MySQL mentafsirkannya sebagai arahan untuk menjana ID yang tersedia seterusnya.
Untuk mengatasi had ini dan membenarkan pemasukan 0 sebagai nilai yang sah, MySQL menyediakan tetapan konfigurasi tertentu. Dengan menetapkan pembolehubah mod sql kepada 'NO_AUTO_VALUE_ON_ZERO', anda boleh mengarahkan MySQL untuk melumpuhkan kelakuan lalainya dan menerima 0 sebagai nilai kenaikan automatik yang sah.
Untuk mengaktifkan tetapan ini, laksanakan pertanyaan berikut:
SET [GLOBAL|SESSION] sql_mode='NO_AUTO_VALUE_ON_ZERO'
Pilihan GLOBAL menggunakan tetapan secara global untuk semua sesi berikutnya, manakala pilihan SESI mengehadkannya kepada sesi semasa.
Setelah konfigurasi ini disediakan, MySQL tidak akan menganggap 0 sebagai tidak sah lagi nilai kenaikan automatik. Anda boleh memasukkan 0 dengan selamat ke dalam medan uid dan ia akan diterima sebagai kunci utama yang sah.
Walau bagaimanapun, adalah penting untuk berhati-hati apabila menggunakan pendekatan ini. Tetapan NO_AUTO_VALUE_ON_ZERO boleh mempunyai implikasi yang lebih luas, terutamanya dalam persekitaran di mana replikasi data digunakan. Oleh itu, adalah dinasihatkan untuk melaksanakan tetapan ini dengan teliti dan menguji kesannya dengan teliti sebelum menggunakannya dalam persekitaran pengeluaran.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan 0 sebagai Nilai Auto-Kenaikan Sah dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!