TIP게시판

제목 mysql 5.7 ONLY_FULL_GROUP_BY
글쓴이 박쥐 작성시각 2017/02/17 12:19:36
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 14122   RSS

codeigniter 또는 laravel 같은 프레임워크에서 

database query 를 호출 할 때, strict mode 를 설정하는 것이 있습니다.

strict mode 를 true 로 하면 쿼리를 호출 할 때 여러 설정이 추가가 되는데

그중 ONLY_FULL_GROUP_BY 라는 것이 추가가 됩니다.

 

이 설정이 되어있으면 group by 절에서 포함 되지 않은 column 을 select 에 포함 시킬 수 없습니다.

mysql, mariadb 등에서 동작합니다.

 

다만, 여기서 mysql 5.7의 경우 ONLY_FULL_GROUP_BY 옵션이 설정 되어있다고 해도

group by 절에서 포함 시킨 column이 primary key이거나 unique인 not null이라면 

select 에서 group by에 포함되지 않은 column을 포함 시킬 수 있습니다.

 

즉, mysql 5.7에서 strict mode를 true로 한 상태로 동작이 잘 되는데,

다른 환경에서 쿼리가 실행이 안 될 경우 참고하십시요.

 

* P.S : stackoverflow 에 documentation 이라는 서비스가 생겼습니다.

 다음글 코드이그나이터 디버그바 사용하기 (4)
 이전글 Nginx + Socket.io 설정 (1)

댓글

한대승(불의회상) / 2017/02/17 13:31:40 / 추천 0

좋은 정보 감사 합니다.

지금 사용중인 DB 옵션부터 살펴봐야 겠네요.