728x90
728x90
MySQL 5.7
org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'db.a.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
5.7 버전에 sql_mode라는 항목이 생겼는데 그 옵션 중 only_full_group_by 때문에 발생하는 오류이다.
SELECT @@sql_mode;
sql_mode를 찾아보았다.
이제 `ONLY_FULL_GROUP_BY`를 없애보자.
1. 서버에서 작업하는 방법
vi /etc/my.cnf
[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
# 위 아래 둘중 하나만 적용하면 됨
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
` ONLY_FULL_GROUP_BY` 를 빼주면 된다.
2. 연결된 세션에서 제거
SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
끝.
[reference]
MySQL :: MySQL 5.7 Reference Manual :: 12.19.3 MySQL Handling of GROUP BY
[MySQL] sql_mode=only_full_group_by 에러 해결 방법 (tistory.com)
MySQL - How to turn off ONLY_FULL_GROUP_BY? | TablePlus
728x90
300x250
'Database > MySQL' 카테고리의 다른 글
[MySQL; 마이에스큐엘] CentOS7 MySQL 5.7 설치 및 GPG Keys 오류 (0) | 2022.11.08 |
---|