MySQL에서 FOREIGN KEY CHECKS 옵션이 1(활성화)로 설정되어 있는지 확인하려면 시스템 변수를 조회하는 두 가지 방법을 사용할 수 있습니다.
방법 1: @@foreign_key_checks 변수 사용
시스템 변수 @@foreign_key_checks를 SELECT 문으로 직접 조회할 수 있습니다. 기본 문법은 다음과 같습니다.
SELECT @@foreign_key_checks;
실제로 쿼리를 실행해 보겠습니다.
mysql> SELECT @@foreign_key_checks;
실행 결과는 다음과 같습니다.
+----------------------+ | @@foreign_key_checks | +----------------------+ | 1 | +----------------------+ 1 row in set (0.00 sec)
결과값이 1이면 외래 키 검사가 활성화되어 있다는 의미입니다. 만약 0이 반환된다면 외래 키 검사가 비활성화된 상태입니다.
방법 2: SHOW VARIABLES 명령어 사용
SHOW VARIABLES 명령어와 LIKE 절을 함께 사용하여 관련 변수를 확인할 수도 있습니다. 문법은 다음과 같습니다.
SHOW VARIABLES LIKE 'foreign%';
쿼리를 실행해 보겠습니다.
mysql> SHOW VARIABLES LIKE 'foreign%';
실행 결과는 다음과 같습니다.
+--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | foreign_key_checks | ON | +--------------------+-------+ 1 row in set (0.01 sec)
결과 해석
두 방식은 같은 정보를 보여주지만 표현 방식에 차이가 있습니다.
SELECT @@foreign_key_checks: 결과가 1 또는 0으로 표시됩니다.SHOW VARIABLES: 결과가 ON 또는 OFF로 표시됩니다.
위 예제에서는 값이 1 / ON으로 출력되었으므로, 현재 세션에서 외래 키 검사(foreign key checks)가 활성화되어 있음을 확인할 수 있습니다. 참고로 이 변수는 세션 단위로 변경할 수 있으며, 대량의 데이터를 삭제하거나 임포트할 때 일시적으로 0(OFF)으로 설정했다가 작업 완료 후 반드시 다시 1(ON)로 복구하는 것이 안전합니다.