>데이터 베이스 >MySQL 튜토리얼 >MySQL 외래 키 제약 조건 실패(오류 코드 1452)가 발생하는 이유는 무엇입니까?

MySQL 외래 키 제약 조건 실패(오류 코드 1452)가 발생하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-21 05:20:13657검색

Why Am I Getting a MySQL Foreign Key Constraint Failure (Error Code 1452)?

MySQL 외래 키 제약 조건 실패: 오류 코드 1452

MySQL 데이터베이스의 ORDRELINJE 테이블에 값을 삽입하려고 시도하는 동안 "오류 코드: 1452. 하위 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패했습니다."라는 메시지와 함께 오류가 발생했습니다.

외래 키 제약 조건 이해

외래 키 제약 조건은 관계형 데이터베이스의 참조 무결성을 보장합니다. 외래 키는 상위 테이블의 기본 키 열을 참조하는 하위 테이블의 열입니다. 하위 테이블에 행을 삽입하거나 업데이트할 때 외래 키 값은 상위 테이블의 기본 키 열에 있는 기존 값과 일치해야 합니다.

오류 분석

이 경우 오류는 ORDRELINJE 테이블에 Ordre 테이블을 참조하는 외래 키 제약 조건이 있음을 나타냅니다. ORDRELINJE 테이블에 행을 삽입하려고 하면 Ordre 열의 값이 Ordre 테이블의 기존 행과 일치하지 않습니다.

오류 해결

이 오류를 해결하려면 다음 조건이 충족되는지 확인하세요.

  1. 상위 테이블의 행 일치: ORDRELINJE 테이블의 Ordre 열 값은 Ordre 테이블의 OrdreID 열의 기존 값과 일치해야 합니다. 필요한 경우 먼저 해당 행을 Ordre 테이블에 삽입하십시오.
  2. 데이터 유형 호환성: 외래 키 열(Ordre)과 이것이 참조하는 기본 키 열(OrdreID)의 데이터 유형이 일치해야 합니다.
  3. 계단식 동작: 상위 테이블에 일치하는 행이 없더라도 하위 테이블에 행을 삽입할 수 있도록 외래 키 제약 조건을 구성합니다. 이는 외래 키 제약 조건을 생성할 때 ON DELETE CASCADE 또는 ON UPDATE CASCADE 옵션을 사용하여 달성할 수 있습니다.

위 내용은 MySQL 외래 키 제약 조건 실패(오류 코드 1452)가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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