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
스코프의 경우는 「Both」입니다.즉, 세션용으로 설정할 수 있습니다.
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이 설명한 바와 같이 로컬과 글로벌의 두 가지 변수가 있습니다.로컬 변수는 항상 사용되며 연결 시 글로벌 변수와 동일합니다.
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은 FORENT_KEY_CHECKS가 다시 활성화 되어도 외부 키를 적용하지 않습니다.이것에 의해, 외부 키와 체크가 온이 되어 있어도, 일관성이 없는 데이타베이스를 작성할 수 있습니다.
외부 키의 일관성을 유지하려면 체크 온 상태에서 키를 추가해야 합니다.
# will get you the current local (session based) state.
SHOW Variables WHERE Variable_name='foreign_key_checks';
SET GLOBAL을 설정하지 않으면 세션만 영향을 받습니다.
Drupal 데이터베이스를 새로운 로컬 아파치 서버로 이행하려고 할 때 같은 오류가 발생했습니다(Windows 머신에서 XAMPP를 사용하고 있습니다).사실 이 오류의 의미를 잘 모르지만, 아래 단계를 거쳐 오류 없이 데이터베이스를 Import했습니다.도움이 되었으면 합니다.
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에서 my.ini를 변경합니다.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
'itsource' 카테고리의 다른 글
Apache HttpClient를 사용하여 잘못된 SSL 인증서를 처리하는 방법 (0) | 2022.11.15 |
---|---|
R에서 아포스트로피를 이스케이프하여 문자열을 MySQL 테이블에 삽입하려면 어떻게 해야 합니까? (0) | 2022.11.14 |
긴 쿼리를 쓰지 않고 모든 GraphQL 유형 필드를 쿼리하려면 어떻게 해야 합니까? (0) | 2022.11.14 |
JavaScript: 위치.새 창/탭에서 여는 href를 선택하십시오. (0) | 2022.11.14 |
@ComponentScan 주석을 사용하여 여러 경로를 스캔하려면 어떻게 해야 합니까? (0) | 2022.11.14 |