>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 '외부 키 제약 조건이 잘못 구성되었습니다.' 오류가 발생하는 이유는 무엇입니까?

MySQL에서 '외부 키 제약 조건이 잘못 구성되었습니다.' 오류가 발생하는 이유는 무엇입니까?

DDD
DDD원래의
2025-01-19 05:55:10230검색

Why Does MySQL Throw a

MySQL의 외래 키 제약 조건 오류 문제 해결

MySQL에서 외래 키 관계를 생성하려면 데이터 유형 호환성에 세심한 주의가 필요합니다. 외래 키 열과 참조된 기본 키 열 사이의 데이터 유형이나 길이가 일치하지 않으면 "외래 키 제약 조건이 잘못 구성되었습니다." 오류가 발생합니다.

일반적인 시나리오는 다음과 같습니다.

  • 테이블1: ID 데이터 유형의 CHAR 열(기본 키)을 포함합니다.
  • Table2: Table1의 IDFromTable1 열을 참조하는 ID 열을 포함합니다.

다음 쿼리를 사용하여 외래 키 제약 조건 생성 시도:

<code class="language-sql">ALTER TABLE `table2`  
ADD CONSTRAINT `FK1` 
FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) 
ON UPDATE CASCADE 
ON DELETE CASCADE;</code>

IDFromTable1ID의 데이터 유형이나 길이가 다르면 실패합니다. 예를 들어 IDFromTable1VARCHAR(50)이고 IDCHAR(10)인 경우 제약 조건이 생성되지 않습니다.

해결책:

해결책은 간단합니다. 외래 키 열과 참조 열이 정확히 동일한 데이터 유형과 길이를 공유하는지 확인하세요. 일치하도록 열 정의를 조정하면 오류가 해결되고 외래 키 관계가 성공적으로 설정될 수 있습니다.

위 내용은 MySQL에서 '외부 키 제약 조건이 잘못 구성되었습니다.' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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