mysql报错: #1067 – Invalid default value for ‘post_date‘(日志)

最近把mysql升级到7.4了,数据库修改表引擎(MySQL如何将MyISAM转换成InnoDB引擎)报错#1067 - Invalid default value for ‘post_date‘。截图如下:

这种报错多是你mysql升级了版本而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是datetime。想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0

解决方法:

设置sql_mode

在/etc/my.cnf文件里的 [mysqld] 下面添加如下代码:

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION" 

 

然后执行命令 service mysqld restart  重启数据库,一定记得重启才能生效。

然后重新编辑数据库,完美解决!!截图如下:

 

 

如果没有解决,或者设置sql_mode后报错,可以参考下面文章进行排查:

导入数据库时报错1067 – Invalid default value for ‘字段名’ 时区问题(当mysql5.7时新的报错解决方案)

WordPress: #1067 Invalid default value for ‘post_date‘ 

你可能感兴趣的