> 데이터 베이스 > MySQL 튜토리얼 > MySQL 오류 150 및 1005: 외래 키 관계를 만들 수 없는 이유는 무엇입니까?

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

DDD
풀어 주다: 2024-11-26 13:37:10
원래의
861명이 탐색했습니다.

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

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

외래 키 관계가 있는 "foo" 및 "bar" 테이블을 생성하려고 할 때 , 오류 150과 관련된 오류 1005(HY000)가 발생합니다. 이 오류는 실망스러울 수 있습니다. 근본 원인이 무엇인지 당황스럽습니다.

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

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

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

mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;
로그인 후 복사

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

위 내용은 MySQL 오류 150 및 1005: 외래 키 관계를 만들 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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