Navicat 导入SQL文件 [ERR] 1067 - Invalid default value for ‘字段名’

原因:

这种报错可能是你 mysql 升级到 5.7++ 而引起的默认值不兼容的问题。
看看你的字段名是什么,我的是时间字段,类型是 datetime。
想到可能是类型的默认值被限制了,查看 sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0,因此需要把这两个删掉

Navicat 导入SQL文件 [ERR] 1067 - Invalid default value for ‘字段名’_第1张图片
将 sql_mode 的内容拷贝出来,删掉 NO_ZERO_IN_DATE,NO_ZERO_DATE,然后在重新设置 sql_mode

set session sql_mode=‘ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’

此方法只是临时有效,想要长期有效的话,则配置 my.ini文件
找到mysql数据库安装目录下 my.ini 文件

添加如下:

[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

重启 mysql 服务即可生效

你可能感兴趣的:(Navicat 导入SQL文件 [ERR] 1067 - Invalid default value for ‘字段名’)