错误出现的背景
将sql文件导入MySQL(5.7)的时候出意外了,导入到48%的时候报 Error Code: 1067 - Invalid default value for 'update_time'
错误,
出现的错误
Error occured at:2022-10-14 22:07:38
Line no.:4716
Error Code: 1067 - Invalid default value for 'update_time'
错误的原因
字段 ‘update_time’ 为 timestamp类型,取值范围是:1970-01-01 00:00:00 到 2037-12-31 23:59:59(UTC +8 北京时间从1970-01-01 08:00:00 开始),而这里默认给了空值
解决办法
在mysql命令行模式下输入 select @@sql_mode;
select @@sql_mode;
会得到以下结果
只要把其中 NO_ZERO_IN_DATE,NO_ZERO_DATE
这两个参数去掉就行了,这是从5.6版本开始增加的 sql_mode 配置参数,用以适配各种环境。
在命令行输入:
set GLOBAL sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
在重新导入sql语句 就可以执行了