Artikel ini akan memperkenalkan cara menyelesaikan masalah ralat nilai datetime yang salah: '0000-00-00 00:00:00' Saya harap ia akan membantu anda.
Punca kejadian:
Ralat ini berlaku dalam mysql versi 5.7 dan ke atas Masalah yang akan berlaku:
Konfigurasi sql lalai mysql 5.7. versi ialah :sql_mode="ONLY_FULL_GROUP_BY", konfigurasi ini melaksanakan dengan ketat "SQL92 standard".
Apabila ramai orang menaik taraf daripada 5.6 kepada 5.7, demi keserasian sintaks, kebanyakan mereka akan memilih untuk melaraskan sql_mode untuk memastikan ia konsisten dengan 5.6, agar serasi dengan program yang mungkin.
tahap sql
Apabila sql dilaksanakan, sebab ini berlaku: Ia dipanggil senarai sasaran, iaitu medan yang mengikuti pilih lajur, iaitu medan yang diikuti oleh
kumpulan oleh. Memandangkan tetapan ONLY_FULL_GROUP_BY dihidupkan, jika medan tidak muncul dalam senarai sasaran
dan kumpulan mengikut medan pada masa yang sama, atau ialah nilai fungsi agregat, maka pertanyaan SQL ini dianggap menyalahi undang-undang oleh MySQL dan akan Laporkan ralat.
PenyelesaianUbah suai fail mysql.iniTambah di bawah konfigurasi [mysqld]
Mulakan semula mysql[Cadangan berkaitan:sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
]
Atas ialah kandungan terperinci Selesaikan dan analisis masalah ralat nilai datetime yang salah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!