> 데이터 베이스 > MySQL 튜토리얼 > MySQL 테이블에 외래 키를 추가할 때 '오류 코드: 1005'가 나타나는 이유는 무엇입니까?

MySQL 테이블에 외래 키를 추가할 때 '오류 코드: 1005'가 나타나는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-10 04:06:49
원래의
844명이 탐색했습니다.

Why Am I Getting

테이블에 외래 키 추가 문제 해결

"katalog"라는 기존 테이블에 외래 키를 추가하려고 하면 오류 메시지가 나타날 수 있습니다. 발생: "오류 코드: 1005. 'mytable.#sql-7fb1_7d3a' 테이블을 생성할 수 없습니다. (errno: 150)."

원인:

  • ALTER TABLE 문의 구문 오류: 제공된 구문에 잘못된 구문이 포함되어 있습니다. 대신 mytable.#sql-7fb1_7d3a 테이블에 대한 참조 katalog.
  • 참조 테이블에 대한 참조가 없거나 유효하지 않습니다. 참조 테이블(이 경우 Sprache)이 존재하고 적절하게 일치하는 열(이 경우 ID)이 있는지 확인하세요.
  • 테이블과 참조 열 속성 간의 비호환성: 외래 키 열의 데이터 유형 및 제약 조건과 참조된 열이 호환됩니다.

해결 방법:

  1. 올바른 테이블 이름인 katalog를 참조하도록 ALTER TABLE 문의 구문을 수정하세요.
  2. 참조 테이블 Sprache가 외래 키와 일치하는 ID 열을 가지고 있는지 확인하세요. 제약 조건.
  3. 외래 키 열(이 경우 Sprache)의 데이터 유형 및 제약 조건이 참조 테이블의 참조 열(Sprache의 ID)과 일치하는지 확인하세요.

예:

외래 키를 성공적으로 추가하려면 다음과 같이 수정된 ALTER를 사용하세요. TABLE 문:

ALTER TABLE katalog
ADD CONSTRAINT `fk_katalog_sprache`
FOREIGN KEY (`Sprache`)
REFERENCES `Sprache` (`ID`)
ON DELETE SET NULL
ON UPDATE SET NULL;
로그인 후 복사

위 내용은 MySQL 테이블에 외래 키를 추가할 때 '오류 코드: 1005'가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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