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

1451: Cannot delete or update a parent row: a foreign key constraint fails

MySQL

의미

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

원인

참조되는 부모 행에 아직 자식 행이 있고, 제약 조건이 ON DELETE/UPDATE에 RESTRICT/NO ACTION을 사용함.

해결 방법

먼저 종속된 자식 행을 삭제하거나 다른 부모로 옮긴 뒤 부모 행을 삭제한다. 자동 동작을 원하면 제약 조건을 ON DELETE CASCADE 또는 ON DELETE SET NULL로 다시 정의한다. 종속 행을 찾는다: SELECT * FROM child_table WHERE fk_column = value.

DBAtlas에서 열기 →

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