让 mysql8 支持 timestamp 为 0000-00-00 00:00:00

整合 Mysql
阅读数: 98 2024年05月04日

最近需要把mysql5.7升级到 mysql8,导入数据的时候报错,timestemp 不支持 0000-00-00 00:00:00。

找了很多方法,都没用,必须要修改 mysql 配置文件才有用。

本机mysql配置文件在 /etc/my.cnf

先搜索,是否有 sql_mode 配置,如果没有,就在 mysqld 下新增这个即可。 

[mysqld]
.....
sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION
....

增加NO_AUTO_VALUE_ON_ZERO,让mysql8不对id=0的数据自动赋值

去掉NO_ZERO_IN_DATE,NO_ZERO_DATE,允许timestamp等于0000-00-00 00:00:00

参考资料
https://www.cnblogs.com/fengliang/p/15542617.html
phpriji.cn | 网站地图 | 沪ICP备17015433号-1