foreign key를 가진 테이블을 직접 쿼리로 삭제나 업데이트를 할 때 아래와 같은 에러가 발생한다.
Cannot delete or update a parent row: a foreign key constraint fails
이는 사전에 foreign key에 얽힌 데이터들의 안전성을 보장하기 위한 일종의 안전장치이다.
하지만 다음과 같은 방법을 통해 강제로 테이블의 foreign key를 삭제하거나 업데이트할 수 있다.
SET foreign_key_checks = 0;
ALTER TABLE ...
SET foreign_key_checks = 1;
0, 1을 스위칭해주면서 강제로 테이블을 삭제할 수 있다.