最近拷了一个老项目的数据,导入发现一直报错,查了以下发现是mysql5.7在 严格模式下不允许日期和月份为零值(0000-00-00 00:00:00)
主要是以下两条规则导致:
- NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零
- NO_ZERO_DATE:不允许插入零日期,如果插入会抛出错误而不是警告
解决方法:
- 使用命令
select @@sql_mode
查看sql mode - 如果返回信息有
NO_ZERO_IN_DATE,NO_ZERO_DATE
则去掉,并全局设置 - 执行命令
SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
(内容可以按当时返回的结果需改)
评论