MySQL에서 외래 키 제약 조건을 생성하려고 하면 문제가 발생할 수 있습니다. 그러한 오류 중 하나는 외래 키 정의와 참조된 테이블이 일치하지 않을 때 발생하는 오류 150입니다.
오류 메시지:
ERROR 1005 (HY000): Can't create table './test/bar.frm' (errno: 150)
외래 키 제약 조건에 대한 MySQL 문서에 설명되어 있듯이, 외래 키 참조에는 특정 규칙을 엄격하게 준수해야 합니다. 중요한 요구 사항 중 하나는 참조 테이블과 참조 테이블이 모두 InnoDB 테이블이어야 한다는 것입니다.
Both tables must be InnoDB tables and they must not be TEMPORARY tables.
이 오류를 해결하려면 참조 테이블(막대)과 참조 테이블(foo)은 InnoDB 테이블로 정의됩니다. 그렇지 않은 경우 InnoDB 엔진을 사용하도록 변경하세요.
ALTER TABLE bar ENGINE=InnoDB; ALTER TABLE foo ENGINE=InnoDB;
이렇게 변경한 후 두 테이블 간의 외래 키 제약 조건을 다시 만들어 보세요. 문제가 지속되면 MySQL 설명서를 다시 참조하거나 관련 포럼이나 MySQL 전문가에게 도움을 요청하세요.
위 내용은 MySQL 오류 150 수정 방법: 외래 키 불일치?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!