mysql sql_mode问题
查看当前的sql_mode
select @@sql_mode
结果可能为
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
ONLY_FULL_GROUP_BY:当出现group by时,select的字段只能是group by中出现的字段或聚合函数
ERROR_FOR_DIVISION_BY_ZERO:sql中出现除0时会报错,认为语法错误
NO_ZERO_IN_DATE,NO_ZERO_DATE:日期字段的值不能是’0000-00-00 00:00:00’
解决方法:
把sql_mode设为STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION即可
修改mysql配置文件,windows的my.ini文件,linux的my.cnf文件
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
重启mysql生效