본문 바로가기
개발이야기/error

[보충] Cannot truncate a table referenced in a foreign key constraint

by 효우너 2021. 2. 3.
728x90
반응형

2021/01/20 - [개발이야기/error] - Cannot truncate a table referenced in a foreign key constraint

 

Cannot truncate a table referenced in a foreign key constraint

mysql에서 외래키 설정 후 5.5.7 부터 FOREIGN KEY 설정이 된 테이블을 TRUNCATE 하려면 FOREIGN_KEY_CHECKS을 0으로 지정해야한다. 그렇지 않으면 외래키 때문에 진행할 수 없다고 나온다. SET FOREIGN_KEY_CHE..

hyoveloper.tistory.com

이전에 외래키 설정 에러를 고치는 게시글을 업로드했다. 연관되어 있는 테이블이 순서대로 처리가 되지 않았다는 점만 알았다. 하지만 이번에 어떠한 기회를 통해 다시 찾아보고 더 자세하게 배울 수 있었다. 데이터베이스에서 기본적으로 작업에 대한 로드 순서를 구성하지 않으면 테이블은 기본적으로 알파벳 순으로 로드된다고 한다.

즉, 로드 순서가 상위 테이블을 먼저 로드하도록 구성되지 않은 경우 하위 테이블이 상위 테이블보다 먼저 로드될 수 있기에 에러가 발생하는 것이다. 따라서 외래 키 제약 조건 비활성화를 통해 해결해야 하기 때문에 아래와 같이 진행해주어야 한다.

SET FOREIGN_KEY_CHECKS=0
728x90
반응형

댓글