반응형
SQL Error [3730] [HY000]: Cannot drop table 'company' referenced by a foreign key constraint 'Employee_FK' on table 'employee'.
MySQL에서 drop table 테이블명으로
테이블 삭제 시 다른 테이블에 FK가 걸려있다고
삭제가 되지 않는 경우가 있는데
두 가지 방법으로 해결해주면 된다
1. 참조하는 테이블 삭제
위 예제에서 drop 하려는 Company 테이블은
Employee 테이블의 PK를 가져와서 FK로 사용하는데
참조하는 테이블인 Employee 테이블을 삭제한 후
Company 테이블을 삭제해주면 된다
2. SET foreign_key_checks = 0; 사용
위 명령어를 사용해주면
테이블 삭제 시 FK를 체크하지 않게 되는데
당연히 삭제 시 테이블간의 관계가 깨지기 때문에
참조하는 테이블 간의 데이터가 맞지 않을 수 있다
하지만 테이블에 중요한 데이터가 들어있지 않거나
혹은 테스트용 데이터의 경우에는
이렇게 사용해도 딱히 상관이 없으므로
SET foreign_key_checks = 0;
를 사용해서 FK를 체크하지 않고
테이블을 삭제해준 후
SET foreign_key_checks = 1;
를 사용해서
다시 FK를 체크하게 변경해주면 된다
반응형
'Error & Fix' 카테고리의 다른 글
JPA No Property 메소드명 found 에러 해결방법 (0) | 2022.07.12 |
---|---|
MySQL Cannot Delete or update a parent row 에러 해결방법 (0) | 2022.07.12 |
이클립스 The import java.util cannot be resolved 에러 해결방법 (0) | 2022.07.11 |
자바 Unreachable Code 에러 해결방법 (0) | 2022.05.22 |
fatal: 'branch명' 브랜치에 업스트림 정보가 없습니다 해결방법 (0) | 2022.05.22 |
댓글