报错信息
Caused by: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db_classroom.t_adminmenu.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.20.jar:8.0.20]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.20.jar:8.0.20]
解决(临时)
SELECT @@global.sql_mode
# 查询到的数据赋值一份出来 然后去掉ONLY_FULL_GROUP_BY重新set回去即可
SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
解决(永久)
永久解决这个问题主要是修改配置文件即可,这里以windows为例 首先要找到my.ini所在位置
打开注册表(regedit) 找到KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL80

找到后打开my.ini文件 在mysqld节点下添加 sql_mode=''