数据库迁移报错,提示默认日期不能为‘0000-00-00 00:00:00’
将服务器的数据同步到本地或备份还原到本地mysql时,出现莫名其妙的报错,可能有以下这些报错:“Data truncated for column ‘字段名‘ at row 1”,集中在时间的默认值。数据源的mysql版本是5.5.30,有些时间字段默认值设置为0000-00-00 00:00:00。目标mysql版本为5.7.17,查资料发现,MySQL 5.7 以上版本默认禁止 0000-00-00 的日期。
在 MySQL 的配置文件 区域添加如下设置,重启mysql后,不再报错。解决:
1、修改sql_mode
set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
2、或者修改配置文件,在下面新增一行:
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION注意:
1、修改配置文件,需要重启数据库服务。
2、修改sql_mode后只对新建数据库生效,原来存在的数据库需要在该数据库下手动运行第1步。
页:
[1]