auto_increment를 사용해서 순번을 매기면 중간 데이터 삭제 시 중간 번호가 비게 된다.
1
2
3
4
5
<< 6번 삭제
7
8
9
SET @cnt = 0;
UPDATE 테이블명 SET 열 = @cnt:= @cnt + 1;
ALTER TABLE 테이블명 AUTO_INCREMENT = 1;
위 쿼리를 적용하면 빠진 번호가 채워진다.
번외) 조회시 각 행의 순번을 부여하고 싶다면
SET @cnt = 0;
SELECT *, @cnt:= @cnt + 1 FROM test ORDER BY id [ASC OR DESC];