에러 배경
orders의 데이터를 TRUNCATE sql을 사용해 데이터를 삭제하려는 상황에서 발생했다.
에러 그 잡채
TRUNCATE orders
Error Code: 1701.
Cannot truncate a table referenced in a foreign key constraint
(`BookShop`.`orderedBook`, CONSTRAINT `FK_orderedBook_orders_id`
FOREIGN KEY (`order_id`) REFERENCES `BookShop`.`orders` (`id`))
외래키 설정으로 인해 TRUNCATE 할 수 없다는 에러 메시지가 발생한 상황이다.
해결 과정
해결. 외래키 설정 OFF하고 삭제 후 다시 ON
// 외래키 설정 OFF
SET FOREIGN_KEY_CHECKS = 0;
// 원하는 테이블 데이터 삭제
// 외래키 설정 ON
SET FOREIGN_KEY_CHECKS = 1;
정리
간단한 테이블의 초기화이기에 가능했던 꼼수(?)인 느낌이 든다. 관련된 테이블이 많은 경우 어디서 또 문제가 발생할지 모르기 때문에 설정을 건드리는 부분은 조심해야 할 필요가 있을 것 같다.
'에러' 카테고리의 다른 글
[Git error] 왜 원격 repository에 push 했는데 반영이 안 되는거지?(Everything up-to-date) (0) | 2024.07.16 |
---|---|
[JSX.IntrinsicElements 에러] VSCode App.tsx 왜 다 빨간줄이야? (0) | 2024.06.22 |
[MySQL Error 1061] 아니 외래키 이름도 바꿨는데 또 에러야? (0) | 2024.05.28 |
[MySQL Error 1005 - errno: 121] 외래키 설정이 안되네? (1) | 2024.05.28 |
[JS Array.map 에러] map(Number)는 되는데 map(parseInt)는 왜 안돼? (0) | 2024.05.27 |