報錯:Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00' for column 'updated_at'
原因:
NO_ZERO_IN_DATE,NO_ZERO_DATE是無法默認為‘0000-00-00 00:00:00’的根源。
NO_ZERO_IN_DATE:在嚴格模式下,不允許日期和月份為零
NO_ZERO_DATE:設置該值,mysql數據庫不允許插入零日期,插入零日期會拋出錯誤而不是警告。
解決方案:
- 輸入命令查看sql_mode:
select @@sql_mode;
- 返回信息:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- 執行命令:
SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';