• 使用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数据库不允许插入零日期,插入零日期会抛出错误而不是警告