MySQL 导入sql失败

错误出现的背景

将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 配置参数,用以适配各种环境。

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

在命令行输入:

set GLOBAL sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

在重新导入sql语句 就可以执行了

你可能感兴趣的:(mysql,#,mysql数据库,mysql,sql,数据库)