[mysql] 제약조건을 무시하고 FOREIGN KEY 삭제하기

huihui·2021년 1월 25일
0

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을 스위칭해주면서 강제로 테이블을 삭제할 수 있다.

0개의 댓글