[Maria DB, Mysql] 테이블 초기화 (truncate)

ljh·2021년 3월 19일
2

MariaDB, Mysql 데이터 베이스에서는 테이블을 초기화 하는 여러가지 방법이 있다.

테이블 내부 컬럼 수동 DELETE

테이블 내부에 컬럼들을 수동으로 삭제한다

DELETE FROM 테이블 이름;

위와같은 명령어 사용시 AUTO_INCREMENT 로 설정된 값 또한 초기화가 필요하다.

ALTER TABLE 테이블 이름 AUTO_INCREMENT = 시작할 값;

테이블 삭제 이후 다시 생성

테이블을 전체 삭제 이후 다시 생성한다

DROP TABLE 테이블 이름;
CREATE TABLE 테이블 이름(...); 

TRUNCATE 명령어

TRUNCATE 명령어를 사용한다
TRUNCATE 명령어는 내부적으로 해당 테이블을 DROPCREATE 하는 방식으로 동작한다.

TRUNCATE 테이블 이름

DROP, TRUNCATE 사용시 외래키 참조 오류

DROP, TRUNCATE 를 사용하는 테이블이 다른 테이블에 외래키로 참조되어있다면 아래와 같은 오류가 발생한다.

Cannot delete or update a parent row: a foreign key constraint fails
Cannot truncate a table referenced in a foreign key constrain....

이러한 경우 외래키 체크 해제를 해주고 해당 명령어를 사용해주면 정상적으로 동작한다.

SET FOREIGN_KEY_CHECKS = 0; # 외래키 체크 해제
SET FOREIGN_KEY_CHECKS = 1; # 외래키 체크 설정
profile
삽질 일기장..

0개의 댓글