2014-07-09 2 views

답변

0

기본적으로 MySQL에는 기본 제공 기능이 없습니다.

알 수 있듯이 특정 표가 아닌 FK를 사용 중지 할 수 있습니다. 다음은 세션 (MySQL 5.xx에서 전역 적으로 수행 할 수 있음)에서만 작동하는 예제입니다.

SET FOREIGN_KEY_CHECKS = 0; #Off 
SET FOREIGN_KEY_CHECKS = 1; #On 

그러나 저장 프로 시저를 사용하면 다른 방식으로 처리 할 수 ​​있습니다.

이론적으로 특정 테이블의 외래 키를 삭제하고 모든 테이블 (예 : 테이블, FK 이름, 참조)을 테이블에 저장하는 저장 프로 시저를 빌드하여 나중에 모든 테이블을 검색 할 수 있고 동일한 테이블을 다시 만들 수 있습니다. 네가 전에 가지고 있었던 FK들.

그러나 여기에있는 질문은 타이밍에 대한 것입니다. 즉, 지연시킬 수있는 기간과 주요 원인 (몇 가지 큰 데이터 삽입, 업데이트, 삭제 등)입니다.

관련 문제