반응형
안녕하세요. 오늘은 Mysql에서 발생한 에러를 정리해보겠습니다.
아래와 같은 에러 발생하였습니다.
에러발생
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
ORDER BY 절의 표현식 #1은 GROUP BY 절에 없으며 GROUP BY 절의 열에 기능적으로 종속되지 않는 집계되지 않은 열 'strbio.this_.code_order'를 포함합니다. 이것은 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 를 비활성화해주는 명령어를 입력하면 해결됩니다!
명령어 : SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
반응형
댓글