> 데이터 베이스 > MySQL 튜토리얼 > MySQL 오류 1452: 외래 키 제약 조건 위반을 해결하는 방법은 무엇입니까?

MySQL 오류 1452: 외래 키 제약 조건 위반을 해결하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-28 02:11:10
원래의
521명이 탐색했습니다.

MySQL Error 1452: How to Resolve Foreign Key Constraint Violations?

MySQL 외래 키 제약 조건 위반: 오류 1452

두 테이블 사이에 외래 키 제약 조건을 설정하려고 하면 " MySQL 오류 1452 - 하위 행을 추가하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다." 이 오류는 참조 테이블과 참조 테이블 사이에 불일치가 있음을 나타냅니다.

두 테이블 모두에 대해 CREATE TABLE 문을 검사하면 다음이 드러납니다.

  • 소스 코드 테이블: 여러 다른 테이블(언어, 사용자, 카테고리).
  • sourcecodes_tags 테이블: 소스코드 테이블을 참조하는 외래 키 제약 조건을 포함합니다.

특히 다음에서 외래 키 제약 조건을 추가하려고 할 때 오류가 발생합니다. sourcecodes_tags를 소스코드로 변환합니다.

이 오류를 해결하려면 sourcecodes_tags 테이블에는 소스 코드 테이블에 더 이상 존재하지 않는 sourcecode_id 값이 포함되어 있습니다.

일관되지 않은 이러한 값을 식별하려면 다음 쿼리를 실행하십시오.

SELECT DISTINCT sourcecode_id FROM 
   sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id 
WHERE sc.id IS NULL;
로그인 후 복사

이 쿼리는 소스 코드 테이블에서 sourcecode_id 값 목록을 반환합니다. 소스코드의 유효한 항목과 일치하지 않는 sourcecodes_tags. sourcecodes_tags에서 이러한 일관되지 않은 값을 제거하면 외래 키 제약 조건을 성공적으로 설정할 수 있습니다.

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

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