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

ORA-02449: unique/primary keys in table referenced by foreign keys (테이블의 고유/기본 키가 외래 키에서 참조됨)

Oracle

의미

삭제하려는 테이블의 기본 키 또는 고유 키를 다른 테이블의 외래 키가 참조하고 있다. Oracle은 이 종속성을 먼저 제거하지 않으면 테이블을 삭제할 수 없게 한다.

원인

다른 테이블이 FK로 이 테이블을 참조하는 상태에서 CASCADE CONSTRAINTS 없이 DROP TABLE을 실행함. Oracle은 참조 무결성을 강제하여 고아 외래 키를 방지한다.

해결 방법

종속 외래 키와 함께 삭제하려면: DROP TABLE table_name CASCADE CONSTRAINTS; 이 명령은 다른 테이블의 관련 FK 제약 조건도 제거한다(해당 테이블의 데이터는 삭제하지 않음). 어떤 제약 조건이 종속되어 있는지 확인하려면: SELECT table_name, constraint_name FROM all_constraints WHERE r_constraint_name IN (SELECT constraint_name FROM user_constraints WHERE table_name = 'TABLE_NAME');

DBAtlas에서 열기 →

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