【开发错误录】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',''));

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/runewbie/article/details/109085898
今日推荐