mysql 导入数据timestamp字段报错 Invalid default value for '*'

这个时间字段报错,一般是mysql5.7与之前的版本不兼容的问题。

查看默认类型sql_mode:

show variables like 'sql_mode';

如果显示以下内容,说明被NO_ZERO_IN_DATE, NO_ZERO_DATE类型限制了。

sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

临时解决:

set session sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

长久解决:修改配置文件my.cnf,在[mysqld]下添加:

sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
发布了39 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_40155654/article/details/87090716