Mengatasi Sekatan Auto-Increment MySQL untuk Nilai 0 yang Sah
Dalam aplikasi pangkalan data, pengguna tanpa nama biasanya diwakili oleh 'userid' daripada 0. Walau bagaimanapun, apabila mencipta fail skrip SQL untuk import pangkalan data automatik, ini memberikan cabaran kerana MySQL mentafsir 0 sebagai nilai kenaikan automatik yang tidak sah.
Untuk menangani isu ini, MySQL menyediakan penyelesaian selain daripada mengubah Skrip SQL atau mengubah suai aplikasi itu sendiri. Dengan melaraskan mod SQL global atau sesi, anda boleh mengarahkan MySQL untuk mengabaikan sekatan pada nilai kenaikan automatik menjadi bukan sifar.
Arahan untuk mencapai ini ialah:
SET [GLOBAL|SESSION] sql_mode='NO_AUTO_VALUE_ON_ZERO'
Dengan tetapan ini didayakan, MySQL tidak lagi akan mentafsir ID INSERT atau KEMASKINI 0 sebagai ID jujukan seterusnya tetapi sebaliknya menganggapnya sebagai nilai NULL yang sah.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa tingkah laku ini boleh membawa kepada ketidakkonsistenan jika aplikasi bergantung pada penggunaan konsisten 0 untuk pengguna tanpa nama. Replikasi pada masa akan datang juga boleh menjadi masalah.
Oleh itu, sebelum melaksanakan penyelesaian ini, pertimbangan yang teliti harus diberikan kepada kemungkinan akibat dan sama ada ia sejajar dengan prinsip reka bentuk aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Sekatan Auto-Increment MySQL untuk Nilai 0 yang Sah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!