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

ORA-02292: integrity constraint violated - child record found

Oracle

의미

부모 행을 삭제하거나 키를 변경했지만, 종속된 자식 레코드가 있어 외래 키 제약 조건이 허용하지 않았다.

원인

자식 테이블에 레코드가 있는 부모 행을 DELETE하려 함. FK가 ON DELETE CASCADE 없이 정의됨. 종속 레코드를 먼저 정리하지 않음.

해결 방법

먼저 종속된 자식 레코드를 삭제하거나 다른 부모 레코드로 옮긴 뒤 부모 행을 삭제한다. 업무 규칙이 허용한다면 외래 키를 ON DELETE CASCADE로 다시 생성한다: ALTER TABLE child DROP CONSTRAINT fk_name; ALTER TABLE child ADD CONSTRAINT fk_name FOREIGN KEY (my_column) REFERENCES parent(key_col) ON DELETE CASCADE; 종속 행을 찾으려면 부모 키로 자식 테이블을 조회한다.

DBAtlas에서 열기 →

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