导入 MySQL 数据库时,遇到错误 1067 – Invalid default value for ‘datetime’ 的原因是因为 datetime 列的默认值设置为 ‘0000-00-00’,但这种默认值在 MySQL 5.7 及以后的版本的严格模式下是无效的。
解决办法1:修改 MySQL 配置文件(Windows 下是 my.ini 文件,Linux 下是 my.cnf 文件),设置 sql_mode 为空,禁用严格模式。
[mysqld] sql_mode = ""
注意:设置后要重新启动 MySQL 服务才可以生效。
解决方法2:批量替换对应字段的默认值为有效日期字符串即可,比如将 ‘0000-00-00’ 批量替换为 ‘1970-01-01’。然后重新导入即可。
5 天前