Apabila cuba memasukkan nilai tarikh ' 0000-00-00' ke dalam lajur dengan jenis tarikh MySQL, ralat berikut berlaku:
#1292 - Incorrect date value: '0000-00-00'
Ralat ini berkemungkinan disebabkan oleh mod ketat yang didayakan dalam pangkalan data MySQL. Dalam MySQL 5.7 dan versi yang lebih baru, mod ketat didayakan secara lalai dan menguatkuasakan peraturan pengesahan yang lebih ketat untuk integriti data. Salah satu peraturan ini ialah nilai tarikh tidak boleh '0000-00-00'.
Untuk menyelesaikan isu ini, lumpuhkan mod ketat menggunakan pertanyaan berikut:
SET GLOBAL sql_mode = '';
Pertanyaan ini mengalih keluar semua tetapan mod ketat, termasuk peraturan pengesahan yang menghalang '0000-00-00' daripada dimasukkan sebagai nilai tarikh.
Mod ketat MySQL menyediakan semakan integriti data tambahan, tetapi ia juga boleh menjadikannya lebih sukar untuk bekerja dengan jenis data tertentu. Jika anda tidak memerlukan pengesahan yang ketat, adalah disyorkan untuk melumpuhkan mod ketat untuk mengelakkan ralat ini daripada berlaku.
Untuk mendapatkan maklumat lanjut tentang mod ketat dalam MySQL, rujuk dokumentasi MySQL rasmi.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL #1292: 'Nilai tarikh salah: '0000-00-00''?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!