본문 바로가기

CS/데이터베이스

[MySQL/MariaDB] AUTO_INCREMENT 값 초기화/재정렬

2022년 4월 23일에 작성된 글입니다.

 

AUTO_INCREMENT를 이용해 PRIMARY KEY를 UNIQUE하게 설정할 수 있는데, 이 경우 한 번 사용된 값이 더 이상 사용되지 않는다고 해도 한 번 증가된 값은 다시 조정되지 않는다.

초기화

해당 테이블에서 AUTO_INCREMENT 값을 특정 값으로 시작하게 한다.

ALTER TABLE `table_name` AUTO_INCREMENT = value;

이 경우 현재 테이블에서 AUTO_INCREMENT 시작 값보다 큰 값이 있으면 안 된다.

board 테이블, 1 부터 시작

ALTER TABLE `board` AUTO_INCREMENT = 1;

재정렬

해당 테이블의 AUTO_INCREMENT 값을 초기화하고, 해당 테이블 안의 모든 데이터의 AUTO_INCREMENT 열의 값을 재조정한다.

ALTER TABLE `table_name` AUTO_INCREMENT=1;
SET @COUNT = 0;
UPDATE `table_name` SET auto_increment_column_name = @COUNT:=@COUNT+1;

board 테이블, 1 부터 시작, id

ALTER TABLE `board` AUTO_INCREMENT=1;
SET @COUNT = 0;
UPDATE `board` SET id = @COUNT:=@COUNT+1;