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

3730: Cannot drop table referenced by a foreign key constraint

MySQL

의미

다른 테이블의 외래 키가 이 테이블을 참조하고 있어 삭제할 수 없다. 참조가 존재하는 한 DROP은 차단된다.

원인

FK로 연결된 자식 테이블이 아직 존재하는데 부모 테이블을 삭제하려 함. 종속성 순서를 지키지 않음. 외래 키를 먼저 제거하지 않음.

해결 방법

먼저 참조하는 외래 키를 제거한 뒤(ALTER TABLE child_table DROP FOREIGN KEY fk_name;) 테이블을 삭제한다. 종속 테이블/제약 조건을 찾는다: SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'my_table'; 대량 작업에서는 SET FOREIGN_KEY_CHECKS = 0;을 일시적으로 사용할 수 있지만, 주의하고 작업 후 다시 1로 설정한다.

DBAtlas에서 열기 →

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