* MySQLSyntaxErrorException 발생확인
com.mysql.jdbc.execptions.jdbc4.MYSQLSynctaxErrorException: Expression#1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'field' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
* 원인
MYSQL 5.7의 새로운 기능 중 SQL mode 강화 기능으로 인한 GROUP BY 문법오류발생
* 강화된 문법 안내
- ONLY_FULL_GROUP_BY : group by 하지 않은 열은 select 할 수 없음
- STRICT_TRANS_TABLES : 형식이 맞지 않는 값을 insert 할 수 없음 ex) 컬럼의 정해진 길이보다 큰 값을 저장할 때
* 해결방법
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISON_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sudo service mysql restart
* 문법적인 수정이 불가피 할 경우 해결할 수 있는 임시 방편
[출처] m.blog.naver.com/PostView.nhn?blogId=jjijilx2&logNo=221228864630&categoryNo=20&proxyReferer=
'Others > 데이터베이스' 카테고리의 다른 글
SQLDeveloper 오류: Locale not recoginized (0) | 2021.01.25 |
---|---|
[MySQL] 문자열 자르기 SUBSTRING, SUBSTRING_INDEX & 활용 (0) | 2020.12.28 |
[리눅스] MySQL Dual Replication 설정 방법 (0) | 2020.09.11 |
mysql dual replication으로 mysql HA 구성하기 (0) | 2020.09.02 |
MySQL Replication을 이용하여 DBMS 단방향 이중화하기 (0) | 2020.08.04 |