1、使用root登陆数据库 命令界面执行
select @@sql_mode;
结果中包含下面两个
NO_ZERO_IN_DATE,NO_ZERO_DATE
2、修改/etc/my.cnf,查找sql_model如果找不到则添加如下代码
sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
3、重启mysql
/etc/ini.d/mysql restart
简单几步大功告成!
原因:
NO_ZERO_IN_DATE,NO_ZERO_DATE是无法默认为‘0000-00-00 00:00:00’的根源。
NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零
NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。
本文介绍了解决MySQL数据库在严格模式下无法插入零日期的问题。通过修改my.cnf文件中的sql_mode配置,并重启MySQL服务,可以成功允许零日期的插入,避免因NO_ZERO_IN_DATE和NO_ZERO_DATE模式导致的错误。
6195

被折叠的 条评论
为什么被折叠?



