MySQL:ERROR 1067 - Invalid default value for ‘end_time‘【解决办法】

问题描述(mysql版本:5.7.36):

今天在使用Navicat可视化工具运行sql文件,发生如下错误:

MySQL:ERROR 1067 - Invalid default value for ‘end_time‘【解决办法】_第1张图片

在图中,sql是没有错误的,但是运行报错Invalid default value for 'end_time'。

解决办法:

修改全局变量explicit_defaults_for_timestamp

mysql> set global explicit_defaults_for_timestamp = ON;

注意:设置完之后需要重启navicat。

再次运行的效果:

MySQL:ERROR 1067 - Invalid default value for ‘end_time‘【解决办法】_第2张图片

原因分析:

mysql从5.7开始,默认是严格模式,严格遵从SQL92规范。

如果导入的sql中,只有一个字段是TIMESTAMP类型,就没事儿

如果导入的sql中,有多个字段的信息是TIMESTAMP,就需要设置为OFF。

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