DataBase

[MySQL] Only_full_group_by 에러 대처 방법

JM_Code 2022. 12. 7. 20:56

파이널 프로젝트 데이터를 로컬로 옮기는 과정에서 프로젝트를 실행시켜보니 아래와 같은 에러 발생

 

Expression #1 of ORDER BY clause is not in GROUP BY clause and 
contains onaggregated column 'strbio.this_.code_order' 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 항목이 생겼으며, 그 안에 only_full_group_by 가 활성화되고 있기 때문에 발생되는 에러입니다.

 

다른 블로그 보면..문제가 되는 변수(code_order)에 함수처리(ANY_VALUE())를 하던지.. 쿼리를 변경한다던지 하지만 간단하게 문제가 되는 ONLY_FULL_GROUP_BY 를 비활성화하는 명령어로 간단히 해결

 

해결방법

Mysql 콘솔에서 관리자로 로그인하여 ONLY_FULL_GROUP_BY 를 비활성화해주는 명령어를 입력하면 해결
(MySQL Workbench에서 해도 됨)

명령어 : SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

'DataBase' 카테고리의 다른 글

[MySQL] Datetime 타입을 Int 타입으로 변환  (0) 2023.02.19
[MySQL] 데이터 Export - Import  (0) 2022.12.07
[MySql] Group By  (0) 2022.11.22