Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL foreign_key_checks가 전체 데이터베이스에 영향을 줍니까?

<시간/>

foreign_key_checks는 세션 기반입니다. 이제 범위, 즉 로컬 또는 글로벌이라고 말할 수 있습니다. 다음은 로컬 또는 글로벌 데모의 예입니다. 두 범위 모두 세션에 대해 설정할 수 있습니다.

범위를 설정합시다 -

mysql> set foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global foreign_key_checks = 0;
Query OK, 0 rows affected (0.05 sec)

foreign_key_checks 변수는 서버 시스템 변수입니다. 자세한 내용은 다음과 같습니다. -

속성
시스템 변수 foreign_key_checks
범위 글로벌, 세션
동적
유형 부울
기본값 켜기

foreign_key_checks를 0으로 설정

데이터 정의문에 영향을 줍니다. DROP SCHEMA는 스키마 외부의 테이블에서 참조하는 외래 키가 있는 테이블이 포함된 경우에도 스키마를 삭제하고 DROP TABLE은 다른 테이블에서 참조하는 외래 키가 있는 테이블을 삭제합니다.

foreign_key_checks를 1로 설정

기존 테이블 데이터의 스캔을 트리거하지 않습니다. 따라서 foreign_key_checks=0 동안 테이블에 추가된 행은 일관성을 확인하지 않습니다.