问题 [ERR] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:01’ for column ‘xxx_time’
解决方法:
Windows 则是 my.ini
Linux 系统则是 /etc/my.cnf
修改my.ini配置文件,建议修改前新备份下,
my.ini中查找sql-mode,
我的MySQL版本为5.7.9,默认为:
sql_mode=“STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,
NO_ZERO_DATE
,NO_ZERO_IN_DATE
,NO_AUTO_CREATE_USER”将红色标注的
NO_ZERO_DATE
,NO_ZERO_IN_DATE
,删掉保存重启mysql即可;如果版本低的话默认可能是:(5.x 版本内更低的版本)
默认为sql_mode=“
STRICT_TRANS_TABLES
,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”,将红色标注的
STRICT_TRANS_TABLES
,删掉保存重启mysql即可;
可以先查看当前的 sql_mode 配置:只需要 select @@sql_mode;
命令就行
//查看当前sql_mode
select @@sql_mode;
//查看全局sql_mode
select @@global.sql_mode;
比如新建 Navicat Premium 查询所查询到的结果如下:
STRICT_ALL_TABLES
,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE
,NO_ZERO_IN_DATE
,NO_AUTO_CREATE_USER
笔者是更低版本出的问题,所以完整的命令如下所示:
[mysqld]
sql_mode = "ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
Centos 7 重启 mysql 命令:
systemctl restart mysqld.service
参考链接
1. [ERR] 1292 - Incorrect datetime value 错误