DBAtlas · 데이터베이스 운영 아틀라스

ORA-02291: integrity constraint violated - parent key not found

Oracle

의미

외래 키 제약 조건이 위반되었다. 자식 테이블에 삽입된 값에 대응하는 부모 행을 찾지 못했다. 즉, 참조된 레코드가 존재하지 않는다.

원인

존재하지 않는 부모 레코드를 참조하는 INSERT/UPDATE, 부모 테이블 행이 아직 삽입되지 않음, 잘못된 로드 순서(부모보다 자식 먼저), 또는 대소문자나 공백 차이로 인한 매칭 실패.

해결 방법

먼저 부모 테이블에 해당 레코드를 삽입한 뒤 자식 테이블에 삽입한다. 참조가 존재하는지 확인한다: SELECT * FROM parent_table WHERE key_col = value; 대량 로드에서는 올바른 순서(부모 먼저)로 테이블을 처리한다. 위반 행을 찾으려면 NOT IN / anti-join으로 자식 테이블의 값을 부모 테이블과 비교한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목