这个时间字段报错,一般是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