数据库迁移报错,提示默认日期不能为‘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 的配置文件 [mysqld] 区域添加如下设置,重启mysql后,不再报错。

解决:

1、修改sql_mode

set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

2、或者修改配置文件,在[mysqld]下面新增一行:

sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

注意:

1、修改配置文件,需要重启数据库服务。

2、修改sql_mode后只对新建数据库生效,原来存在的数据库需要在该数据库下手动运行第1步。

版权声明:
作者:安屠生
链接:https://www.sxszhian.com/archives/6278
来源:上海永驰网络科技有限公司
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>