最近需要把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