개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.05 03:33

--show_compatibility_56 관련 질문

목록
  • 디자인패턴마스터 17시간 전 2025.04.05 03:33 새글
  • 2
    1
제가 공부 중인 --show_compatibility_56에 대해 혼란을 느끼고 있습니다. 이 기능은 어떤 목적으로 사용되는 것인지 이해가 잘 안 가는데, 간단한 예시를 통해 설명해 주실 수 있을까요?

제가 이해하는 바로는 이 기능은 다른 버전의 PHP와 호환성을 유지하기 위한 것인 것 같습니다. 그러나 실제로 어떻게 작동하는지에 대한 이해가 부족한 것 같습니다.

이 기능을 사용하는 예시 코드를 알려주시면 정말 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  17시간 전



    show_compatibility_56은 MySQL 5.6 버전에서 사용하는 호환성 모드입니다. 이 모드는 MySQL 5.6 버전에서 사용되는 기능을 MySQL 5.7 버전에서도 사용할 수 있도록 하는 기능입니다.

    이 기능은 MySQL 5.6 버전에서 사용되는 기능을 MySQL 5.7 버전에서도 사용할 수 있도록 하는데, 대표적으로 다음과 같은 기능들이 있습니다.

    * MySQL 5.6 버전에서 사용되는 GROUP BY 절에 사용되는 컬럼이 여러 개일 때, 컬럼의 순서가 중요하지 않습니다. 하지만 MySQL 5.7 버전에서는 컬럼의 순서가 중요하므로, GROUP BY 절에 사용되는 컬럼의 순서를 지정해야 합니다.
    * MySQL 5.6 버전에서 사용되는 HAVING 절에 사용되는 컬럼이 여러 개일 때, 컬럼의 순서가 중요하지 않습니다. 하지만 MySQL 5.7 버전에서는 컬럼의 순서가 중요하므로, HAVING 절에 사용되는 컬럼의 순서를 지정해야 합니다.

    이러한 호환성 모드를 사용하기 위해서는 MySQL 5.7 버전에서 show_compatibility_56=ON을 실행하여 활성화해야 합니다.

    활성화된 호환성 모드를 사용하는 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    sql
    
    SET GLOBAL show_compatibility_56 = ON;
    
    


    활성화된 호환성 모드를 사용하는 예시 SQL문은 다음과 같습니다.

    #hostingforum.kr
    sql
    
    SELECT 
    
        id,
    
        SUM(score) as total_score
    
    FROM 
    
        table_name
    
    GROUP BY 
    
        id
    
    HAVING 
    
        SUM(score) > 100;
    
    


    위의 예시 SQL문은 MySQL 5.6 버전에서도 작동하지만, MySQL 5.7 버전에서는 GROUP BY 절에 사용되는 컬럼의 순서를 지정해야 하므로, 다음과 같이 수정해야 합니다.

    #hostingforum.kr
    sql
    
    SELECT 
    
        id,
    
        SUM(score) as total_score
    
    FROM 
    
        table_name
    
    GROUP BY 
    
        id
    
    ORDER BY 
    
        NULL
    
    HAVING 
    
        SUM(score) > 100;
    
    


    위의 예시 SQL문은 MySQL 5.7 버전에서도 작동합니다.

    2025-04-05 03:34

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,245건 / 7 페이지

검색

게시물 검색