문제

아래 쿼리를 실행하면 오류가 발생합니다.

alter table `ttis`.`users` 
add constraint `FK_Role_ID` FOREIGN KEY (`ROLE_ID`) REFERENCES `roles` (`ROLE_ID`)

오류:

Error Code : 1005
Can't create table 'ttis.#sql-9c_8a' (errno: 150)
도움이 되었습니까?

해결책

이 게시물을 살펴보십시오. 13.6.4.4. 외국의 주요 제약 "150"을 검색하십시오. 여기에는 다음과 같이 말합니다.

삭제 된 테이블을 다시 만들면이를 참조하는 외국의 주요 제약 조건을 준수하는 정의가 있어야합니다. 올바른 열 이름과 유형이 있어야하며 앞에서 언급했듯이 참조 키에 인덱스가 있어야합니다. 이들이 만족하지 않으면 MySQL은 오류 번호 1005를 반환하고 오류 메시지에서 오류 150을 나타냅니다.

MySQL이 작성 테이블 문에서 오류 번호 1005를보고하고 오류 메시지는 오류 150을 나타냅니다.이 외국 키 제약 조건이 올바르게 형성되지 않았기 때문에 테이블 생성이 실패했습니다. 마찬가지로, ALTER 테이블이 실패하고 오류 150을 나타 내면, 이는 변경된 테이블에 대해 외래 키 정의가 잘못 형성된다는 것을 의미합니다. Show Engine InnoDB 상태를 사용하여 서버에서 가장 최근의 InnoDB 이외의 키 오류에 대한 자세한 설명을 표시 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top