sql文件导入数据库时,出现Invalid default value for 'create_date'
:
一、查看sql文件,发现字段形式为:
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
这个问题是因为mysql版本< 5.6,由于低版本的mysql数据库不支持CURRENT_TIMESTAMP
属性,所以可以直接替换为:
`create_time` datetime DEFAULT NULL COMMENT '创建时间'
或者升级mysql数据库版本
二、sql文件中,该字段的格式为:
datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
因为目前新版本的mysql数据库默认已经不支持时间为0的格式,所以可以考虑批量修改sql文件中sql语句格式,如果修改比较麻烦且数据量大,需要保持数据格式,也可以采用下面的方法:
通过修改数据库配置文件,设置在[mysqld] 下,设置:
sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
调整收数据库默认配置,不支持格式为0的形式,保证数据导入正常。