MySQL의 외래 키 제약 조건 오류: 근본 원인 및 해결 방법
"ERROR 1215(HY000): 외래 키 제약 조건을 추가할 수 없습니다." 오류 MySQL의 두 테이블 사이에 외래 키 참조를 정의할 때 발생합니다. 이 문제를 해결하려면 참조 필드와 외래 키 필드 모두에 대해 특정 기준이 충족되는지 확인하는 것이 중요합니다.
엔진 호환성:
두 필드 모두 다음과 같은 테이블에 있어야 합니다. 동일한 엔진, 일반적으로 InnoDB.
데이터 유형 및 길이:
필드의 데이터 유형 및 길이는 동일해야 합니다. 예를 들어, 참조된 필드가 VARCHAR(20)인 경우 외래 키 필드도 VARCHAR(20)이어야 합니다.
조합:
필드의 조합은 일치해야 합니다. 예를 들어 utf8도 있습니다.
고유성:
상위 테이블의 참조 필드는 고유해야 하거나 하위 테이블의 각 행이 다음을 갖도록 PRIMARY KEY로 선언되어야 합니다. 유효한 참조.
NULL 제약 조건:
외래 키 필드가 NULL 값을 허용하는 경우 참조된 필드도 NULL 값을 허용해야 합니다.
독점 실행:
특정 시나리오에서는 다른 동시 쿼리 없이 외래 키 생성 문만 실행해야 할 수도 있습니다. 이는 트랜잭션을 시작하여 달성할 수 있습니다. 예를 들어:
<code class="sql">BEGIN; CREATE TABLE course ( ... ); COMMIT;</code>
추가 조치:
성공적인 외래 키 제약 조건 생성을 위해서는 이러한 모든 조건이 충족되는지 확인하는 것이 중요합니다.
위 내용은 다음은 기사의 다양한 측면을 강조하는 몇 가지 제목 옵션입니다. 단기 및 일반: * MySQL에 외래 키 제약 조건을 추가할 수 없는 이유는 무엇입니까? * 외래 키 제약 조건 E 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!