INIDOG
Database schema

mySQL AUTO INCREMENT 값 초기화 한 뒤 다시 인덱싱하기

Database schema

데이터베이스 테이블에는 때때로 PRIMARY KEY 값으로 AUTO INCREMENT ID값(Row number)을 사용합니다.

이는 고유 행을 구분 할 수 있는 구분 번호이며 이전 데이터가 삭제 된다 해도 ID 값은 조정 되지 않습니다.

1행 = 1, A / 2행 = 2, B / 3행 = 3, C의 값이 있는 테이블(여기서 숫자는 AUTO INCREMENT 값)에서 2행을 DELETE 할 경우 1행 = 1, A / 2행 = 3, C 와 같이 ID 값은 변화 하지 않습니다. 따라서 아래 SQL문으로 ID 값을 1부터 다시 인덱싱할 수 있습니다.

 

mySQL AUTO INCREMENT 값 초기화 후 재인덱싱


ALTER TABLE [테이블 명] AUTO_INCREMENT=1;
SET @COUNT = 0;
UPDATE [테이블 명] SET [AUTO_INCREMENT 열 이름] = @COUNT:=@COUNT+1;

 

위 SQL문은 현재 모든 데이터의 ID 값을 1부터 재조정 하는 것은 물론 다음 INDEX 값을 마지막 행 번호 + 1 로 지정하는 명령어입니다.

이 글에 대해 어떻게 생각하시나요?
유용한 포스트였나요? 여러분의 의견을 하단의 Vote와 댓글로 남겨주세요 🙂
유용합니다!
아쉽습니다.

2
여러분의 의견을 댓글로 남겨주세요.

avatar
노내영
유저
노내영

안녕하세요.
db와 연결된 프로그램 test 중 auto_increment로 문제가 발생해서 이 블로그를 참조했습니다.
좋은 내용이어서 초기화 후 재인덱싱 코드 내용과 디자인을 쓰고 출처를 밝혔습니다.
혹시 사용을 원하시지 않는다면 연락주시면 감사하겠습니다.
좋은 내용 잘 보고 갑니다

error: