[db 삭제 에러] Cannot delete or update a parent row: a foreign key constraint fails

마데슾 : My Dev Space·2020년 5월 25일
0

ERROR

목록 보기
4/4

squelize-cli 를 사용해 user-test라는 테이블을 만들고 테스트가 완료된후 user 테이블로 테스트한 부분만 옮기고 user-test를 삭제하려 했더니.... 아래와같은 에러가 발생하였다...!!!!

그래서 구글에 검색해보니..

foreign key 가 걸린 테이블을 쿼리로 직접 삭제할 때는 예외가 걸린다. 테이블 삭제 시, foreign key로 관계가 설정된 테이블이 존재하지 않는 테이블을 참조하게 되는 (불안정한) 이상 상태가 되어 DBMS에서 사전에 방지를 해주는 것인데, (ORM의 cascade 지정 등으로 삭제가 되기도 한다.) 이를 무시하고 강제로 삭제를 하려면 아래와 같이,
1. foreign key 체크 설정을 비활성화하고
2. 테이블을 삭제시킨다.
3. 테이블 삭제 후 다시 foreign key 체크를 활성화하여 안전성을 지켜주면 된다.

mysql> SET foreign_key_checks = 0;
mysql> drop table TABLENAME
mysql> SET foreign_key_checks = 1;

참고블로그

profile
👩🏻‍💻 🚀

0개의 댓글