WorkHolic
mysql 테이블 삭제가 안 될때 (truncate / foreign key)
gromet
2021. 5. 24. 21:17
728x90
반응형
--
데이터베이스 테이블 중 내용을 삭제하고 싶은 테이블이 있어서 trucate를 했더니 오류가 나면서 안된다.
SQL 오류 (1701): Cannot truncate a table referenced in a foreign key constraint
foreign key를 통해서 서로 연결되어 있는 테이블은 단독으로 삭제가 되지 않는다.
delete from table;
delete 명령으로 삭제를 했더니, 관련된 모든 테이블의 내용을 모두 삭제해 버렸다.
그 테이블의 내용만 지우고 싶었는데...
삭제 방법은 임시로 foreign key를 사용하지 않는다고 선언했다가, 다시 사용하는 것으로 선언하면 된다.
> set FOREIGN_KEY_CHECKS = 0;
Query OK, 0 rows affected (0.000 sec)
> truncate table_name;
Query OK, 0 rows affected (0.351 sec)
> set FOREIGN_KEY_CHECKS = 1;
Query OK, 0 rows affected (0.000 sec)
#mysql #truncate #foreign_key
--
728x90
SMALL