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];

 

 

+ Recent posts