数据库迁移报错,提示默认日期不能为‘0000-00-00 00:00:00’

[复制链接] |主动推送
查看62 | 回复0 | 2024-9-11 18:15:39 | 显示全部楼层 |阅读模式
将服务器的数据同步到本地或备份还原到本地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步。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则