데이터베이스 테이블에는 때때로 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 로 지정하는 명령어입니다.
안녕하세요.
db와 연결된 프로그램 test 중 auto_increment로 문제가 발생해서 이 블로그를 참조했습니다.
좋은 내용이어서 초기화 후 재인덱싱 코드 내용과 디자인을 쓰고 출처를 밝혔습니다.
혹시 사용을 원하시지 않는다면 연락주시면 감사하겠습니다.
좋은 내용 잘 보고 갑니다
안녕하세요. 소중한 시간 내시어 댓글 남겨주셔서 감사드립니다.
도움이 되셨다니 다행이네요! 출처를 남겨주셨다면 포스트를 인용하셔도 좋습니다 🙂