본문 바로가기
프로그래밍/DataBase

Cannot truncate a table referenced in a foreign key constraint 오류 회피 방법.

by Mr-후 2024. 6. 25.
반응형

아직도 구글을 검색하나요? 

이렇게 물어보면서도 구글에 검색이 되도록 키워드를 잡는다. 

아이러니다. 

 

사소한 모든 오류와 처리했던 내용들을 기록으로 남겨야겠다. 

 

제목과 같은 오류가 발생한다면 간단하게 회피할 수 있는 방법이 있다. 

대상 데이터베이스는 MySQL이다. 

 

-- 외래 키 제약 조건 비활성화
SET FOREIGN_KEY_CHECKS = 0;

-- 테이블 비우기
TRUNCATE TABLE SAMPLE.TABLE_NAME;

-- 외래 키 제약 조건 활성화
SET FOREIGN_KEY_CHECKS = 1;


-- 외래 키 제약 조건 삭제
ALTER TABLE SAMPLE.TABLE_NAME_REFER DROP FOREIGN KEY FK7u1hsi3qcyd86fdd7q3cwtvt8;

-- 테이블 비우기
TRUNCATE TABLE SAMPLE.TABLE_NAME;

-- 외래 키 제약 조건 다시 추가
ALTER TABLE SAMPLE.TABLE_NAME_REFER ADD CONSTRAINT FK7u1hsi3qcyd86fdd7q3cwtvt8 FOREIGN KEY (WORKTIME_ID) REFERENCES ECS_ASOPTIO.ADMIN_WORKTIME (ID);

 

그렇지 않고 그냥 DELETE FROM SAMPLE.TABLE_NAME; 을 날려도 된다.

 

반응형