关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

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

发布时间:2023-03-01 13:20:28
1491984010112764.jpg

服务器的数据同步到本地或备份还原到本地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步。



/template/Home/8a/PC/Static