1. 程式人生 > 其它 >MySQL 報錯 incorrect datetime value '0000-00-00 00:00:00' for column

MySQL 報錯 incorrect datetime value '0000-00-00 00:00:00' for column

現象:

MySQL匯入資料庫時報錯:ERROR 1292 (22007): Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘return_create_time’ at row 1
原因:

時間欄位的格式為 ‘0000-00-00 00:00:00’,不能使用 no_zero_date 模式,通過show variables like 'sql_mode';命令檢視

mysql> show variables like 'sql_mode';
±--------------±----------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
±
--------------±----------------------------------------------------------------------------------------------------------------------+ | sql_mode | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION | ±--------------±----------------------------------------------------------------------------------------------------------------------+ 1
row in set (0.01 sec)

解決辦法:

去掉NO_ZERO_DATE

臨時解決方案:

mysql> set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

永久解決方案:

新增到my.cnf裡邊

sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
';