这与 sql_mode=only_full_group_by 不兼容。此问题修改数据库配置后没有生效
时间: 2023-11-03 14:02:39 浏览: 92
Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错的解决方法
如果你的MySQL版本是5.7以上,设置`sql_mode`为`ONLY_FULL_GROUP_BY`就会导致在`GROUP BY`子句中列出的列必须在`SELECT`子句中出现,或者在聚合函数中使用。因此,如果你使用了`GROUP BY`子句,但是在`SELECT`子句中没有包含所有`GROUP BY`列,就会出现错误。
如果你修改了MySQL的配置文件,但是`sql_mode`没有生效,可能是因为MySQL有一个默认的`sql_mode`值,如果你没有在配置中指定`sql_mode`,那么MySQL就会使用默认值。你可以通过以下方法来检查默认的`sql_mode`值:
```
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
```
如果你想要在修改配置文件后立即生效,可以尝试使用以下命令来重新加载MySQL的配置文件:
```
sudo systemctl restart mysql
```
如果问题仍然存在,你可以尝试在查询中加上所有的`GROUP BY`列或者使用聚合函数来解决问题。
阅读全文