테스트 사이트 - 개발 중인 베타 버전입니다

only_full_group_by

https://stackoverflow.com/questions/41887460/select-list-is-not-in-group-by-clause-and-contains-nonaggregated-column-inc

From Mysql Version 5.7.5ONLY_FULL_GROUP_BY SQL mode is enabled by default

Before Version 5.7.5ONLY_FULL_GROUP_BY was not enabled by default.

영카트 쪽에 바꾸어야 할 query가 많을 듯합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

그누보드 dbconfig.php 에 sql_mode ='' 로 설정되는 코드가 있어서,
위의 내용은 별상관없을듯 합니다.
sql_mode 준수하는걸로 그누보드를 변경할려면 datatime 관련 필드들 다 수정해야 합니다.

그누보드는 그냥 sql_mode='' 로 쓰는게 좋을듯 하네요.
@솔그루
그렇군요.
https://sir.kr/qa/503374?what_page=A#answer_503399
구버전 영카트에서는 sql_mode 리셋 코드가 없나 보네요.
@엑스엠엘 9년 전에 추가된 코드네요.
https://github.com/gnuboard/gnuboard5/blame/35c2bac898d77d55828677197b201d5af2612ac5/common.php#L139

하지만 DB 설정에 따라 시스템 변수 변경을 제한한 경우 이 설정변수 변경이 적용되지 않을 수 있는데 그 경우일 것같네요. dbconfig.php G5_MYSQL_SET_MODE 값을 변경하거나 누락했을 수도 있고요.
@jihan6?
그누보드(영카트에서) 에서
sql_mode를 활용하는 것은 무리일까요?
@엑스엠엘 무리라고 봐야하지 않을까요.
이미 9년 전에 저걸 넣음으로서 표준이나 안전성, 데이터의 무결성은 이미 망가진 상태이고 그 이후로도 9년 동안이나 방치 되었죠.
고치려면 고칠 수 있는 부분이지만 과연 고칠까요?
영카트에서조차 트랙젝션이 단 한군데도 없는데... 저거라고 고칠까요. 궁금해지는 부분이네요.

관련 코드의 최초 커밋은 이거네요.
https://github.com/gnuboard/gnuboard5/commit/0edefbe3f98de00ca0348f7086dea6f852a96a86

게시판 목록

자유게시판

글쓰기
🐛 버그신고