项目从MySql5.5迁移到MySql5.7 timestamp默认值不能为空问题

今天客户项目从开发环境搬迁到生产环境时,因为mysql版本不一致,导致部分表格无法迁移
具体原因为Mysql默认不允许timestamp设置0000-00-00 00:00:00的默认值
经过一番搜索,得到几种解决方案
最后方便起见
直接把timestamp格式字段默认值改成了2000-01-01 00:00:00

常见的方法为修改mysql配置文件,把NO_ZERO_IN_DATE,NO_ZERO_DATE这两个配置去掉

在my.cnf[mysqld]下添加

sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 

发表评论