[error] Cannot delete or update a parent row 외래키로 인한 삭제 관련 에러

쭈·2023년 5월 8일
0

에러

목록 보기
8/9

java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails (todoit.todo_task, CONSTRAINT FK3n19mbcexgyhncu1tcgkibqlt FOREIGN KEY (challenge_id) REFERENCES challenge (challenge_id))

외래키 제약조건을 생각하지 못해서 발생한 오류이다.

챌린지를 삭제하기위해 챌린지를 바로 삭제하는 코드를 작성했었는데 다음과 같이 테이블이 연관되어 있어서 오류가 발생했다.

엔티티 연관관계

  • challenge와 challenger 1:1
  • todo_task와 challenge 1:1

테이블

  • challenge_id (pk)
  • challenger 테이블에서 challenge_id를 fk로 가지고 있다.
  • todo_task 테이블에서 challenge_id를 fk로 가지고 있다.

챌린지를 삭제하기 위해서 챌린지를 참조하고 있는 todo_task와 challenger에서 우선 데이터를 삭제 후 -> 챌린지를 삭제하면 된다.

profile
🌱

0개의 댓글