
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