原因分析:
MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性,导致报错。
解决问题:
1.查询mysql版本:
SELECT VERSION()
2.查看sql_mode
SELECT @@sql_mode;
3.去掉ONLY_FULL_GROUP_BY,重新设置值。
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
4.上面是改变了全局sql_mode,对于新建的数据库有效。对于已存在的数据库,则需要在对应的数据下执行:
SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';