一、问题:在项目中会进行升级测试,迁移数据库数据时,新旧数据库两个版本不一样,从5.6迁移到5.7,mysql5.7版本 timestamp 不能为零日期 ,导入时就会报错,如下:
`RepaymentDate` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '回款日期',
报错就如:
方法二:
mysql> select @@sql_mode;
可以看到,默认会有:NO_ZERO_IN_DATE 和 NO_ZERO_DATE 两个值,限制字段不能为零日期
三、解决方案:
mysql5.7 版本中 timestamp 不能为零日期 以及sql_mode合理设置
Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题