본문 바로가기

DB(SQL)

[DB] 1701 Error constraint

반응형

Error 1701

truncate 테이블명;
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`DB명`.`참조하는 테이블`, CONSTRAINT `foreign key name` FOREIGN KEY (`외래키`) REFERENCES `DB명`.`테이블명` (`컬럼`))

FK Constraint 외래 키 제약 조건에 따른 에러로써

foreign key (외래키)로 참조되고 있는table을 truncate/delete할 때 (데이터가 없더라도) 나는 에러

 

해결방안을 사용할 경우 무결성이 위배될 가능성이 있다.

 

해결 방안 1

truncate 또는 delete 실행전에 foreign key를 무시하도록 설정 후 작업 (끝나고 꼭 다시 외래키 체크 바꿔줘야함)

-- 외래키 체크 False
set FOREIGN_KEY_CHECKS = 0;

-- 작업
truncate 테이블명;
delete from 테이블명;

-- 외래키 체크 True
set FOREIGN_KEY_CHECKS = 1;

 

해결방안 2

Remove constraints 외래 키 제약 삭제

-- Cannot truncate a table referenced in a foreign key constraint 
-- (`DB명`.`참조하는 테이블`, CONSTRAINT `외래키 이름` 
-- FOREIGN KEY (`외래키`) REFERENCES `DB명`.`테이블명` (`컬럼`))
ALTER TABLE `참조하는 테이블`
	DROP FOREIGN KEY `외래키 이름`;

 

https://stackoverflow.com/questions/5452760/how-to-truncate-a-foreign-key-constrained-table

 

How to truncate a foreign key constrained table?

Why doesn't a TRUNCATE on mygroup work? Even though I have ON DELETE CASCADE SET I get: ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (mytest.instance, CONST...

stackoverflow.com

 

반응형

'DB(SQL)' 카테고리의 다른 글

[DB] view (view/MView/snapshot)  (0) 2021.10.06
[DB] 문자열 연결 / 이어붙이기  (0) 2021.09.17
[DB] 테이블 구성시 참고  (0) 2021.08.20
[DB] index  (0) 2021.08.19
[DB] DB Replication (DB 복제)(Maria DB)  (0) 2021.08.10