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

原因:

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

在这里插入图片描述
将 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 服务即可生效


版权声明:本文为yrq205原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。