Rumah >pangkalan data >tutorial mysql >Mengapa Menambah Lajur Menghasilkan Ralat 'Nilai Lalai Tidak Sah untuk 'created_at'' dalam MySQL?
Nilai Lalai Tidak Sah untuk Created_At
Masalah:
Apabila cuba mengubah jadual dengan menambah lajur baharu, anda akan menemui satu ralat:
ERROR 1067 (42000): Invalid default value for 'created_at'
walaupun tidak mengubah suai mana-mana lajur cap masa.
Penyelesaian:
Ralat berasal daripada sql_modes. Untuk menyelesaikannya:
show variables like 'sql_mode' ;
Alih keluar mod berikut daripada sql_mode:
NO_ZERO_IN_DATE NO_ZERO_DATE
Mod ini hadir secara lalai dalam versi MySQL yang lebih baharu.
Tetapan Global:
Untuk perubahan seluruh sistem, laksanakan yang berikut sebagai akar:
set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
Tambahan Nota:
ALTER TABLE investments ADD bank TEXT DEFAULT NOT NULL;
Atas ialah kandungan terperinci Mengapa Menambah Lajur Menghasilkan Ralat 'Nilai Lalai Tidak Sah untuk 'created_at'' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!