【开发错误录】MySQL插入全0日期数据报1067错误

问题描述

向mysql数据库创建表,日期字段不能为空,设置日期为全0格式时报1067错误

在这里插入图片描述

根本原因

mysql不允许日期格式为全0

查询当前数据库的SQL_MODE:

SELECT @@sql_mode;

当前数据库的SQL_MODE : ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

可以看到NO_ZERO_IN_DATE,NO_ZERO_DATE是DATE不能全部为0的原因

在这里插入图片描述

解决方法

不重启mysql办法:可以看到NO_ZERO_IN_DATE,NO_ZERO_DATE是DATE不能全部为0的原因,所以把模式中的NO_ZERO_IN_DATE,NO_ZERO_DATE去掉就可以了

SET sql_mode=(SELECT REPLACE(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE',''));
在这里插入图片描述
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容