
sql 에서 데이터를 삭제하려고 하니 위와 같은 오류가 발생하였다 .
Error Code: 1701. Cannot truncate a table referenced in a foreign key constraint
외래키가 있는 테이블에서 데이터를 삭제할 수 없다는 오류이다.
일시적으로
set FOREIGN_KEY_CHECKS = 0;
을 통해서 외래키를 무시하고 작업을 할 수 있도록 한다.
이렇게 설정 후에 다시 데이터를 삭제 하니 삭제가 정상적으로 잘 되었다.
그 후 반드시
set FOREIGN_KEY_CHECKS = 1;
설정을 해서 외래키를 다시 참조하도록 설정을 해줘야
무결성 위반이 되지 않는다.
DELETE
DELETE FROM 테이블명
: 조건이 없으면 모든 행이 삭제된다. (테이블은 남아있음)
DROP
DROP TABLE 테이블명
: 테이블을 통째로 삭제하는 것
TRUNCATE