> 데이터 베이스 > MySQL 튜토리얼 > 외래 키 제약 조건 오류(오류 코드 1215)가 발생하는 이유는 무엇입니까?

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

Mary-Kate Olsen
풀어 주다: 2024-11-25 01:43:11
원래의
847명이 탐색했습니다.

Why Am I Getting a Foreign Key Constraint Error (Error Code 1215)?

외래 키 제약 조건 오류: 오류 코드 1215

테이블에 외래 키 제약 조건을 추가하려고 하면 오류 코드 1215, " 외래 키 제약 조건(외래 키)을 추가할 수 없습니다.'라는 오류가 발생할 수 있습니다. 이 오류는 참조 열과 외래 키 열 간의 데이터 유형이 일치하지 않음을 나타냅니다.

오류 분석:

주어진 예에서 오류는 다음 외래 키 제약 조건:

FOREIGN KEY (classLeader) REFERENCES student(studentID)
로그인 후 복사

여기서 classLeader 열의 데이터 유형은 VARCHAR(255)입니다. 참조된 학생 테이블의 StudentID 열에는 INT 데이터 유형이 있습니다. 참조된 키 열과 외래 키 열의 데이터 유형이 일치해야 합니다.

대체 해결 방법:

이 오류를 해결하려면 참조된 키 열과 외래 키 열의 데이터 유형이 일치하는지 확인하세요. 성냥. 이 경우, classLeader 열은 StudentID 열과 일치하도록 INT 데이터 유형을 갖도록 변경될 수 있습니다.

외래 키로 테이블 채우기:

외래 키 제약 조건이 있는 테이블에서는 외래 키 필드에 데이터를 직접 삽입할 수 없습니다. 대신, 먼저 참조된 테이블(예: 학생 테이블)에 데이터를 삽입해야 합니다. 그런 다음 외래 키 필드(예: classID)를 참조 테이블의 해당 기본 키 값으로 채울 수 있습니다.

외래 키를 키로 사용:

외래 키는 다음과 같습니다. 키 유형, 특히 논리 키로 간주됩니다. 기본 키나 고유 키는 아니지만 테이블 간의 관계를 유지하여 데이터 무결성을 보장하는 데 중요한 역할을 합니다. 외래 키는 참조 무결성을 강화하여 하위 테이블(예: 클래스)의 레코드가 상위 테이블(예: 학생)의 해당 레코드를 갖도록 하여 데이터의 불일치를 방지합니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿