sql文件导入数据库是,出现 Invalid default value for 'create_date' 时解决方式

情况一:

先分析下出现该问题的原因,我出现是因为sql文件中,该字段的格式为“ datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ ”

因为目前新版本的mysql数据库默认已经不支持时间为0的格式,所以可以考虑批量修改sql文件中sql语句格式,如果修改比较麻烦且数据量大,需要保持数据格式,也可以采用下面的方法(前提是有修改mysql配置文件权限):

可以通过修改数据库配置文件,设置在[mysqld] 下,设置  sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 【亲测有效】。

通过调整收数据库默认配置,不支持格式为0的形式,保证数据导入正常。参考网址:https://blog.csdn.net/weixin_34318956/article/details/91634777

 

情况二:

查看sql文件,发现字段形式为:

`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间‘ ,这个问题的发生,是因为自己导入的mysql版本< 5.6。由于低版本的mysql数据库不支持 CURRENT_TIMESTAMP 属性,所以可以直接替换为 ,下面语句

`create_time` datetime DEFAULT NULL COMMENT ‘创建时间‘  

或升级mysql数据库版本,已达到正常导入数据

 

sql文件导入数据库是,出现 Invalid default value for 'create_date' 时解决方式

上一篇:redis内存回收机制及rdb和aof存储机制aof重写原理


下一篇:MySQL常见的数据类型