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 코드 실행하면 잘 실행되는 것을 확인할 수 있다.
'MySQL Workbench' 카테고리의 다른 글
[MySQL] 화면 기획서보고 필요한 SQL문 만들기 _영화 리뷰 서비스 (0) | 2024.05.20 |
---|---|
[MySQL] UQ 설정하기 _Error Code: 1062. Duplicate entry (0) | 2024.05.20 |
[MySQL] 테이블 합치기 _ join, left join, right join, 3개 이상 테이블 join (0) | 2024.05.16 |
[MySQL] Foreign Keys 지정해서 테이블끼리 연결하는 방법 (0) | 2024.05.16 |
[MySQL] 테이블 설정 _ Datatype TIMESAMP (0) | 2024.05.16 |