由于数据库版本升级,老数据库的数据文件导出以后,在新版本的数据库上执行会报错。
可以通过sql_mode来解决这个问题。
1 查看当前数据库版本
select version();
2 查看sql_mode
# 方式一
select @@sql_mode;
# 方式二
show variables like 'sql_mode';
3 修改session的sql_model
set sql_mode=(select replace(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE',''));
4 查询sql_model 确认修改
select @@global.sql_mode;
如果未生效,可以再次执行替换命令
set @@global.sql_mode=(select replace(@@global.sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE',''));
此时重新连接数据库,执行脚本,发现1067问题已经解决。