this is incompatible with sql_mode=only_full_group_by"
时间: 2023-08-22 12:13:14 浏览: 45
这个错误是由于MySQL的ONLY_FULL_GROUP_BY设置引起的。当开启了ONLY_FULL_GROUP_BY设置时,如果SELECT语句中的字段不在GROUP BY子句中,并且这些字段没有使用聚合函数(如SUM、AVG、MAX、MIN等),那么MySQL会认为这条SQL查询是非法的,并报错。[1]
要解决这个问题,你可以修改MySQL的sql_mode设置。你可以在MySQL的配置文件中添加以下代码:
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
或者,你可以直接在MySQL中执行以下代码:
SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
然后重启MySQL服务,这样就可以解决这个问题了。[2][3]