답변:
다음과 같이 ID 값을 재설정 할 수 있습니다
DBCC CHECKIDENT('tableName', RESEED, 0)
다음에 TableName에 삽입 할 때 삽입 된 ID 값은 1입니다.
테이블에서 행 을 삭제 하면 Identity 값이 재설정되지 않지만 계속 증가합니다. 당신의 사건에서 일어난 것처럼.
이제 테이블 을 자르면 Identity 값이 테이블의 원래 Seed 값으로 재설정됩니다.
자르기와 삭제 의 차이점에 대한 자세한 예와 자세한 설명은 SQL Server – 삭제, 잘라 내기 및 다시 식별 아이디 를 참조하십시오.
Kin은 IDENTITY 값을 재설정하는 방법을 보여 주었지만 실제로 모든 데이터를 제거 할 때 개발 환경 외부 에서 왜 이렇게해야합니까?
프로덕션 환경에서 연속적인 IDENTITY 값 시퀀스를 유지하지 않기를 바랍니다. 그리고 IDENTITY 값을 하드 코딩하기 위해 실제로 코드를 작성하지 않기를 바랍니다. 이것이 의미있는 ID 값이면 IDENTITY 속성 사용을 중지해야합니다.
이를 방지 할 수있는 몇 가지 사항이 있습니다.
요컨대, 차이에 관심이 있거나 이러한 값에 특정 의미를 부여하려면 IDENTITY 사용을 중지하십시오. 테이블을 삭제하고 다시 작성하고 값을 삭제하고 다시 채워야 할 때 업데이트를 수행하거나 해당 열에 대해 하드 코드 된 값으로 삽입을 수행하십시오.
제 1 키와 아이덴티티는 같은 것이 아닙니다. 명시 적으로 정의하지 않는 한 ID 열은 기본 키가 아니며 ID 열이 아닌 기본 키를 가질 수 있습니다.
ID 필드의 증분 값을 따르지 않은 마지막 행만 제거해야하는 경우 쉽고 안전한 방법이 있습니다.
그리고 당신은 끝났습니다.