본문 바로가기

DB

[DB] AUTO_INCREMENT 값 초기화/재정렬 하기

AUTO_INCREMENT 값 초기화/재정렬 필요성을 느낀 이유


key 값이 AUTO_INCREMENT로 정해져있는데 중간에 열을 삭제하거나 했을 경우
숫자가 다시 재정렬되지 않고 그대로 되어있느느 걸 볼 수 있다.
예를 들면 1, 2, 3, 4, 5 에서 3을 삭제했다면 1, 2, 4, 5 이런식으로 입력 되어있다.. 보기 매우 불편..

그렇게 해당 부분을 재정렬 할 수 있는 방법을 찾아보았다!

재정렬

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


SET @COUNT = 0;  이 부분은 SQL에서 변수를 선언하는 것으로 1부터 시작해서 COUNT변수를 1씩 증가시켜 재정렬한다.

초기화

ALTER TABLE `table_name` AUTO_INCREMENT = value;


위의 명령어는 AUTO_INCREMENT 값을 특정 값에서부터 시작하게 만든다.
이 경우 현재 테이블에서 AUTO_INCREMENT 시작 값보다 큰 값이 있으면 안 된다.

재정렬을 했다면 현재 테이블에 있는 마지막 값 뒤에부터 순차적으로 입력될 수 있도록 초기화를 꼭 해주세요~


[참고한 사이트]

https://velog.io/@sjy5386/SQL-AUTOINCREMENT-%EA%B0%92-%EC%B4%88%EA%B8%B0%ED%99%94%EC%9E%AC%EC%A0%95%EB%A0%AC

 

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

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

velog.io