MySQL foreign_key_checks가 전체 데이터베이스에 영향을 줍니까?
MySQL 에서이 명령을 실행할 때 :
SET FOREIGN_KEY_CHECKS=0;
전체 엔진에 영향을 미치나요? 아니면 현재 거래에만 해당됩니까?
질문에서 수행 한 방식을 설정하면 세션 기반입니다.
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
이것에 따르면, FOREIGN_KEY_CHECKS
범위는 "모두"입니다. 이것은 세션에 대해 설정할 수 있음을 의미합니다.
SET FOREIGN_KEY_CHECKS=0;
또는 전 세계적으로 :
SET GLOBAL FOREIGN_KEY_CHECKS=0;
실제로 foreign_key_checks
전역 변수와 로컬 (세션 당) 변수라는 두 가지 변수 가 있습니다 . 연결되면 세션 변수는 전역 변수의 값으로 초기화됩니다.
이 명령 SET foreign_key_checks
은 세션 변수를 수정합니다.
전역 변수를 수정하려면 SET GLOBAL foreign_key_checks
또는을 사용하십시오 SET @@global.foreign_key_checks
.
다음 매뉴얼 섹션을
참조 하십시오 . http://dev.mysql.com/doc/refman/5.7/en/using-system-variables.html
http://dev.mysql.com/doc/refman/5.7/en/server -system-variables.html
Ron이 설명했듯이 local과 global이라는 두 가지 변수가 있습니다. 지역 변수는 항상 사용되며 연결시 전역 변수와 동일합니다.
SET FOREIGN_KEY_CHECKS=0;
SET GLOBAL FOREIGN_KEY_CHECKS=0;
SHOW Variables WHERE Variable_name='foreign_key_checks'; # always shows local variable
GLOBAL 변수를 설정하면 기존 연결에 대해 로컬 변수가 변경되지 않습니다. 로컬 변수도 다시 연결하거나 설정해야합니다.
직관적이지 않은 MYSQL은 FOREIGN_KEY_CHECKS를 다시 활성화 할 때 외래 키를 적용하지 않습니다. 따라서 외래 키와 검사가 켜져 있어도 일관성이없는 데이터베이스를 만들 수 있습니다.
외래 키가 완전히 일관되게하려면 확인이 켜져있는 동안 키를 추가해야합니다.
# will get you the current local (session based) state.
SHOW Variables WHERE Variable_name='foreign_key_checks';
GLOBAL을 설정하지 않은 경우 세션 만 영향을받습니다.
Drupal 데이터베이스를 새로운 로컬 아파치 서버로 마이그레이션하려고 할 때 동일한 오류가 발생했습니다 (Windows 시스템에서 XAMPP를 사용하고 있습니다). 실제로이 오류의 의미를 모르지만 아래 단계를 시도한 후 오류없이 데이터베이스를 가져 왔습니다. 이것이 도움이되기를 바랍니다.
C : \ xampp \ php \ php.ini에서 php.ini 변경
max_execution_time = 600
max_input_time = 600
memory_limit = 1024M
post_max_size = 1024M
C : \ xampp \ mysql \ bin \ my.ini에서 my.ini 변경
max_allowed_packet = 1024M
Mysql 쿼리 브라우저를 사용하는 경우 SET FOREIGN_KEY_CHECKS=0;
버전 1.1.20에 영향을 미치지 않습니다. 그러나 MySQL 쿼리 브라우저 1.2.17에서는 제대로 작동합니다.
참고 URL : https://stackoverflow.com/questions/8538636/does-mysql-foreign-key-checks-affect-the-entire-database
'IT story' 카테고리의 다른 글
최소 및 최대 버전 범위로 패키지를 설치하는 방법은 무엇입니까? (0) | 2020.05.14 |
---|---|
stdin, stdout 및 stderr에 대해 혼란 스럽습니까? (0) | 2020.05.14 |
최대 절전 모드-cascade =”all-delete-orphan”을 가진 컬렉션이 더 이상 소유 엔티티 인스턴스에 의해 참조되지 않았습니다 (0) | 2020.05.14 |
IntelliJ 별표 (패키지) 가져 오기를 비활성화 하시겠습니까? (0) | 2020.05.14 |
무효가 아닌 메소드 컴파일에서 누락 된 리턴 문 (0) | 2020.05.14 |