Extra Form

로컬호스트에서 콘텐츠 모듈 진입시 아래 에러 발생합니다.


  • profile
    이온디 2023.06.09 12:26

    this is incompatible with sql_mode=only_full_group_by로 검색하시면 해결 방법 나오실거에요

  • profile
    이온디 2023.06.09 13:18

    이 오류는 MySQL에서 GROUP BY 구문을 사용할 때 발생하는 것으로, MySQL의 `only_full_group_by` SQL 모드 때문입니다.


    `only_full_group_by` 모드는 SQL 표준에 따라 GROUP BY 절에 명시되지 않은 컬럼을 SELECT 리스트에서 반환하려고 시도하면 오류를 발생시킵니다. 즉, GROUP BY 절에 없는 모든 컬럼은 집계 함수 내에서 사용되거나, GROUP BY 절에 포함되어야 합니다.


    따라서 이 오류를 해결하기 위해서는 다음 두 가지 방법 중 하나를 선택할 수 있습니다:


    1. **SQL 쿼리 수정:** SELECT 리스트에서 GROUP BY 절에 명시되지 않은 컬럼('rx.contents.module_srl')을 제거하거나, 해당 컬럼을 집계 함수 내에서 사용하거나, GROUP BY 절에 추가하면 됩니다.


       예를 들어, 기존에 아래와 같은 쿼리가 있었다면:

       

       ```sql

       SELECT column1, rx.contents.module_srl

       FROM your_table

       GROUP BY column1;

       ```

       

       아래와 같이 수정할 수 있습니다:


       ```sql

       SELECT column1, MAX(rx.contents.module_srl)

       FROM your_table

       GROUP BY column1;

       ```


    2. **SQL 모드 변경:** `only_full_group_by` SQL 모드를 비활성화하면 됩니다. 이 경우, SQL 모드를 변경하려면 다음과 같은 명령어를 사용할 수 있습니다:


       ```sql

       SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

       ```

       

       이 명령은 전역 SQL 모드에서 `only_full_group_by`를 제거합니다. 그러나 이 방법은 임시적인 해결책일 수 있으며, 일부 쿼리의 예상치 못한 결과를 초래할 수 있습니다. 일반적으로는 쿼리를 수정하여 SQL 표준을 준수하는 것이 좋습니다.


추가시작추가끝