解决MySQL错误“Error Invalid default value for ‘post_date’”日志

2024年9月5日11:10:03 发表评论 14

MySQL优化表wp_posts的时候,出现报错:Error Invalid default value for 'post_date',经过网上查询找到解决方案。

解决MySQL错误“Error Invalid default value for 'post_date'”日志

问题原因:

在MySQL 5.7.5版本以后,对于日期类型的字段,需要给定一个默认值,否则就会报”Invalid default value for 'post_date'的错误。

 

解决方法:

第一种方法就是给日期类型的字段指定一个默认值。

第二种方法是修改MySQL配置文件,将sql_mode参数的值设置为空。(需要重启MySQL服务才能生效)

直接修改配置文件,linux找到 /etc/my.cnf 文件,有 sql_mode 设置就修改,没有就添加sql_mode:

#set sql_mode

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

解决MySQL错误“Error Invalid default value for 'post_date'”日志

然后重启mysql,执行mysql重启命令:service mysqld restart

 

注:

1、既然是那两个sql_mode参数导致的问题,那就将两个参数去掉就好了。

2、其中 NO_ZERO_IN_DATE,NO_ZERO_DATE 两个参数使得时间或日期参数 不得 使用0作默认值;

3、sql_mode 使得 sql 语句更严谨,但是又会带来老版本的不兼容问题,所以可以设置sql_mode的值使得新版本兼容老版本的。

4、上面参数只是例子,具体设置参数值按照项目要求。

 

参考文章:https://blog.csdn.net/weixin_42510217/article/details/126836194

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: