functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
时间: 2023-12-05 14:41:18 浏览: 89
Thinking in LINQ 最新版
这个错误是由于MySQL的sql_mode设置为only_full_group_by导致的。在MySQL 5.7.5之后,sql_mode默认启用了ONLY_FULL_GROUP_BY模式,它要求GROUP BY子句中的每个列都必须是聚合函数或GROUP BY子句中的列。如果SELECT列表中包含GROUP BY子句中未列出的列,则会出现“not functionally dependent on columns in GROUP BY clause”错误。解决此问题的方法是将sql_mode设置为非ONLY_FULL_GROUP_BY模式,或者将SELECT列表中的列添加到GROUP BY子句中。以下是两种解决方法:
1.将sql_mode设置为非ONLY_FULL_GROUP_BY模式
```sql
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
```
2.将SELECT列表中的列添加到GROUP BY子句中
```sql
SELECT id AS id,uid,rid FROM sys_user_role WHERE (rid = '1259293401992036353') GROUP BY uid, id;
```
阅读全文