原因:
MySQL 5.7.5后only_full_group_by成为sql_mode的默认选项之一,这可能导致一些sql语句失效。我们只需要把only_full_group_by从sql_mode中移除即可。
解决方案
- 查询出来所有的sql_mode
select @@global.sql_mode;
你会看到查询出来的字符串中,有ONLY_FULL_GROUP_BY,这也正是祸害的根源,因此,我们的目的就是去掉这个值。
2. 执行以下语句
set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
结果如下所示,没有‘ONLY_FULL_GROUP_BY’,就成功解决这个问题啦