MSSQL - Identity(Index, Id) 인덱스 번호 초기화 하기 (Id seed initializing, Auto Increment)

 

테이블 정보

  • 기본 테이블의 정보
select * from MyPet


Id(Identity, Index) 설정

id 값의 텀이 생기도록 설정

  • 임의의 값 2개 입력 후 삭제
  • 1 2 . . 5 : 인덱스가 5번부터 시작
-- insert data, id(identity) = 3, 4
insert into MyPet (name, age) values ('alice', 2)
insert into MyPet (name, age) values ('alice', 2)

-- delete data, id = 3, 4
delete from MyPet where id='3'
delete from MyPet where id='4'

-- insert data, id(identity) = 5
insert into MyPet (name, age) values ('alice', 2)


Id Seed 초기화하기

특정 번호로 초기화

  • DBCC CHECKIDENT(테이블, reseed, 인덱스)
    • 주의 : 인덱스는 0부터, ID 컬럼의 숫자는 1부터 시작, ID의 숫자가 아닌 인덱스의 위치
    • 헷갈리면 id번호 -1로 외우면 됩니다.
-- DBCC CHECKIDENT( 테이블명, reseed, 인덱스숫자-1)
-- 인덱스는 0부터 시작이며, MS-SQL의 ID컬럼은 1부터 시작
-- MyPet 테이블의 id를 3번째부터 다시 넘버링하겠다는 의미
DBCC CHECKIDENT(MyPet, reseed, 2)

 

insert into MyPet (name, age) values ('grace', 1)

select * from MyPet


번호 초기화 (1부터 시작) 

  • id의 텀이 생기도록 같은 방식으로 임의 설정

DBCC CHECKIDENT(MyPet, reseed, 0)

 

insert into MyPet (name, age) values ('grace', 1)

select * from MyPet