only_full_group_by

· 2023-06-29 (목) 12:46:21 · 2402 · 5

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='' 로 쓰는게 좋을듯 하네요.
2023-06-29 (목) 14:16:32
@솔그루
그렇군요.
https://sir.kr/qa/503374?what_page=A#answer_503399
구버전 영카트에서는 sql_mode 리셋 코드가 없나 보네요.
2023-06-29 (목) 16:16:18
@엑스엠엘 9년 전에 추가된 코드네요.
https://github.com/gnuboard/gnuboard5/blame/35c2bac898d77d55828677197b201d5af2612ac5/common.php#L139

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

관련 코드의 최초 커밋은 이거네요.
https://github.com/gnuboard/gnuboard5/commit/0edefbe3f98de00ca0348f7086dea6f852a96a86
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

202,882건
+
제목 글쓴이 날짜 조회
23-06-30 조회 2,293
23-06-30 조회 2,170
23-06-30 조회 2,420
23-06-30 조회 2,337
23-06-30 조회 1,983
23-06-30 조회 1,902
23-06-30 조회 1,980
23-06-30 조회 2,071
23-06-30 조회 1,641
23-06-29 조회 1,719
23-06-29 조회 2,245
23-06-29 조회 2,476
23-06-29 조회 1,981
23-06-29 조회 2,225
23-06-29 조회 1,907
23-06-29 조회 2,242
23-06-29 조회 2,403
23-06-29 조회 2,199
23-06-29 조회 3,374
23-06-29 조회 2,020