RDBMS
MSSQL - IDENTITY 값 초기화
크라우니
2021. 7. 12. 12:26
우리가 테이블을 생성하고
IDENTITY을 지정하게 되는데 (ex. ID) 순차적으로 값이 증가해서 Index를 만들기는 편하지만
Data를 삭제하는경우 ID값의 증가량이 그대로 유지가 되어서 곤란한경우가 생기는데
이때 이를 해결하기 위해서 아래 쿼리로 해결 할 수있다.
1. 현재 ID값 확인
DBCC CHECKIDENT(<<TABLE_NAME>>, NORESEED)
2. DBCC CHECKIDENT(<<TABLE_NAME>>, RESEED, <<SEED No.>>)
SEED No. 에 내가 시작하고 싶은 identity의 값을 입력하면 된다.
만약 0으로 초기화 하고싶다면 SEED No.에 0을 입력해준다.
3. 사용 예
(1) 이미 데이터가 90번까지 차있는 상태에서 10개 항목을 추가한다
(2) 방금 추가한 10개 항목을 지운다.
(3) DBCC CHECKIDENT(<<TABLE_NAME>>, NORESEED) 이용 IDentity값 확인
(4) 101
(5) DBCC CHECKIDENT(<<TABLE_NAME>>, RESEED, 90)
--> 입력한 숫자의 +1부터 인덱스가 생성됨으로 주의
(6) 91번부터 Data가 생성된다.