MySQL Workbench
[MySQL] Foreign Keys 값 설정되어있는 데이터 삭제하기 _on delete cascade 설정
처카푸
2024. 5. 16. 17:45
Foreign Keys 값 설정되어 있는 데이터 삭제하기
데이터 삭제하는데 문제 상황
: Error Code : 1451 로 인해 삭제가 불가능하다
Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (`yhdb`.`papers`, CONSTRAINT `papers_student_id` FOREIGN KEY (`student_id`) REFERENCES `students` (`id`))
문제 이유
: 에러코드를 읽어보면, Foreign Keys 값 설정되어 있어서 삭제할 수 없다고 한다.
그 이유는 데이터를 마구잡이로 삭제하게되면 데이터의 정확성이 떨어지기 때문에,
데이터의 정확성을 위해서 프로그램이 이렇게 설계된 것이다.
해결 방법
: 참조하고 있는 데이터도 같이 삭제되도록 설정하면 된다.
foreign key가 설정되어 있는 테이블 생성창에서
on delete cascade를 설정해 준다.
문제 해결 완료
: 다시 delete 코드 실행하면 잘 실행되는 것을 확인할 수 있다.