>데이터 베이스 >MySQL 튜토리얼 >외래 키를 추가할 때 MySQL 외래 키 제약 조건 오류를 해결하는 방법은 무엇입니까?

외래 키를 추가할 때 MySQL 외래 키 제약 조건 오류를 해결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-30 15:58:14972검색

How to Resolve MySQL Foreign Key Constraint Errors When Adding a Foreign Key?

MySQL 테이블의 외래 키 추가 오류 수정

문제:

기존 테이블에 외래 키를 추가하려고 합니다. MySQL 테이블이지만 다음과 같은 문제가 발생합니다. 오류:

***Error Code: 1005. Can't create table 'mytable.#sql-7fb1_7d3a' (errno: 150)***
***Error in foreign key constraint of table mytable.#sql-7fb1_7d3a:***
FOREIGN KEY (`Sprache`) REFERENCES `Sprache` (`ID`) ON DELETE SET NULL ON UPDATE SET NULL:

해결 방법:

오류를 해결하려면 참조하는 테이블이 실제로 존재하고 올바른 열 이름을 가지고 있는지 확인하세요. 이 오류는 Sprache 테이블이 존재하지 않거나 ID라는 열이 없음을 나타냅니다.

수정된 쿼리:

ALTER TABLE katalog
ADD CONSTRAINT fk_katalog_sprache
FOREIGN KEY (`Sprache`)
REFERENCES Sprache(ID)
ON DELETE SET NULL
ON UPDATE SET NULL;

추가 참고 사항:

  • 두 테이블(katalog 및 Sprache) 모두 InnoDB여야 합니다. 참조된 열에 해당하는 데이터 유형(INT(11) 및 NOT NULL)이 있어야 합니다.
  • 카탈로그 테이블의 외래 키 열(Sprache)에는 제약 조건을 추가하기 전에 NULL 값이 포함되어서는 안 됩니다.
  • Sprache 테이블의 참조 열(이 경우 ID)이 기본 열이어야 합니다. key.

일반 외래 키 추가 구문:

ALTER TABLE <table_name>
ADD FOREIGN KEY (<column_name>)
REFERENCES <foreign_table_name>(<foreign_column_name>);

이 수정된 지침을 따르면 외래 키를 성공적으로 추가할 수 있습니다. MySQL의 카탈로그 테이블.

위 내용은 외래 키를 추가할 때 MySQL 외래 키 제약 조건 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.