今天早上建表的时候少了几张表,以为sql文件中没有这表,仔细一看报错了Invalid default value for ‘xxxxxx’ (时间),问题是数据库版本的问题。 找到了解决办法,把它记录下来
首先用下面的命令看下sql_mode
show variables like 'sql_mode';
如果查询的结果如下:
ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
如果结果中含有NO_ZERO_IN_DATE, NO_ZERO_DATE则执行下面的命令:
set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
问题解决。
网友评论