mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决
- 使用root登陆数据库 命令界面执行
select @@sql_mode;
结果中包含下面两个
NO_ZERO_IN_DATE,NO_ZERO_DATE
- 修改
/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"
- 重启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数据库不允许插入零日期,插入零日期会抛出错误而不是警告
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。