집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 오류 150: 외래 키 제약 조건 오류가 발생하는 이유는 무엇입니까?
MySQL Errno 150: 외래 키 제약 조건 오류
외래 키 제약 조건을 생성하려고 하면 사용자에게 Errorno 150이 발생할 수 있습니다. 외래 키 제약 조건은 다른 테이블의 필드를 참조하여 참조된 필드가 소스 테이블에 존재하도록 하여 데이터 무결성을 보장합니다.
잠재적 원인: 데이터 유형 불일치
하나 오류 번호 150의 일반적인 원인은 하위 테이블의 참조 열(섹션)과 참조 테이블(강사)의 기본 키 열 사이의 데이터 유형 불일치입니다.
예:
create TABLE Instructors ( ... ID int(10), ... );
create table Sections ( ... Instructor_ID varchar(10), ... FOREIGN KEY (Instructor_ID) REFERENCES Instructors(ID) ... );
이 예에서 Instructors 테이블의 ID 열은 정수로 정의되고, Sections 테이블의 Instructor_ID 열은 문자열로 정의됩니다. 데이터 유형의 이러한 차이로 인해 외래 키 제약 조건이 설정되지 않습니다.
해결 방법:
이 문제를 해결하려면 두 항목 모두에서 참조 열의 데이터 유형이 올바른지 확인하세요. 테이블이 일치합니다. 위의 예에서 Instructor_ID를 정수 데이터 유형으로 변경합니다.
create table Sections ( ... Instructor_ID int(10), ... );
기타 잠재적 원인:
위 내용은 MySQL 오류 150: 외래 키 제약 조건 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!