>  기사  >  데이터 베이스  >  외래 키 제약 조건 오류 1215가 발생하는 이유는 무엇입니까?

외래 키 제약 조건 오류 1215가 발생하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-25 09:57:11669검색

Why Am I Getting a Foreign Key Constraint Error 1215?

외래 키 제약 조건 오류: 1215

외래 키 제약 조건이 있는 데이터베이스 테이블을 생성하려고 하면 오류 코드 1215가 발생할 수 있습니다. 이는 종종 데이터 유형 불일치로 인해 외래 키 제약 조건을 추가하는 데 문제가 있음을 나타냅니다.

세부 분석:

오류 메시지는 외래 키 열 classLeader가 클래스 테이블은 데이터 유형이 일치하지 않기 때문에 학생 테이블의 기본 키 학생 ID를 참조할 수 없습니다. 제공된 데이터베이스 설정에서 classLeader는 VARCHAR(문자열) 유형이고, StudentID는 INT(정수) 유형입니다. 외래 키 참조에는 데이터 무결성 검증을 위해 일치하는 데이터 유형이 필요합니다.

대안:

오류를 해결하려면 classLeader의 데이터 유형을 INT로 변경하거나 그 반대로 변경해야 합니다. 비즈니스 요구 사항에 따라. classLeader에 실제 학생 이름을 저장하는 것이 중요한 경우 추가 조인 테이블이나 학생 테이블의 firstName 및 lastName 열에 고유 인덱스를 사용하여 데이터 일관성을 보장할 수 있습니다.

외래 키로 테이블 채우기 :

외래 키 제약 조건이 있는 테이블에는 특정 채우기 순서가 있습니다. 참조 테이블(클래스)보다 먼저 기본 테이블(학생)을 채워야 합니다. 그렇지 않으면 외래 키 제약 조건 위반이 발생합니다. 클래스 테이블을 채울 때 classLeader 값은 학생 테이블의 유효한 StudentID를 참조해야 합니다.

외래 키의 특성:

외래 키는 기본 키 또는 고유 키가 아닙니다. 그들 자신. 이는 두 테이블 간의 관계를 설정하여 데이터 무결성이 그대로 유지되도록 하는 데 사용됩니다. 이 경우 classLeader 외래 키는 모든 수업에 유효한 StudentID가 할당되어 두 테이블 간의 데이터 일관성을 유지하도록 보장합니다.

위 내용은 외래 키 제약 조건 오류 1215가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.