"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > MySQL 오류 150 및 1005: 외래 키 관계를 만들 수 없는 이유는 무엇입니까?

MySQL 오류 150 및 1005: 외래 키 관계를 만들 수 없는 이유는 무엇입니까?

2024년 12월 21일에 게시됨
검색:996

MySQL Error 150 & 1005: Why Can\'t I Create Foreign Key Relationships?

MySql 외래 키 오류 150: 수수께끼의 수수께끼

외래 키 관계가 있는 "foo" 및 "bar" 테이블을 생성하려고 할 때 , 오류 150과 관련된 오류 1005(HY000)가 발생합니다. 이 오류는 실망스러울 수 있으며 근본 원인에 대해 당황하게 만듭니다. cause.

FOREIGN KEY Constraints에 대한 MySQL 문서에 따르면 외래 키 참조가 있는 삭제된 테이블을 다시 생성할 때 문제가 발생합니다. 테이블은 참조된 키에 대한 인덱스뿐만 아니라 열 이름과 유형이 일치하여 외래 키 제약 조건을 준수해야 합니다. 이러한 조건이 충족되지 않으면 MySQL은 기본 오류 150과 함께 오류 1005를 반환합니다.

"foo" 테이블이 InnoDB 테이블로 정의되지 않았기 때문에 오류가 발생한 것일 수 있습니다. MySQL 문서에는 두 테이블 모두 InnoDB 테이블이어야 하며 임시가 아니어야 한다고 명시되어 있습니다.

InnoDB 엔진을 지정하기 위해 "foo" 테이블 생성 쿼리를 수정하여:

mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;

외래 키 제약 조건을 사용하여 "bar" 테이블을 성공적으로 생성할 수 있어야 합니다. 오류 150을 해결합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3