안녕하세요. 채번 필드 속성을 identity 로 사용하고 있습니다.
그런데 이상한 현상을 발견했습니다.
테이블에 5개의 레코드를 넣어서
1
2
3
4
5
라는 데이터 row를 쌓았습니다.
그리고 5번 row 를 지우면 다음 데이터에 들어와야 하는 값은 6 아닌가요? 그런데 다시 5번이 들어가는 현상을 발견했습니다. ㅜㅜ
제 지식으로는 identity 속성을 주면 그 테이블 안에서는 지워진 값 까지 포함해서 유니크 한 것으로 알거든요.
혼란스럽습니다. 만약 유니크 하지 않다면 디비설계를 다 다시해야 할 판입니다. ㅜㅜ
Comment 2
-
처리짱
2015.04.09 20:49
-
쓸만한게없네(윤선식)
2015.04.09 22:20
혹시 어딘가에 DBCC CHECKIDENT 가 있지 않은지 확인해 보시는 것이 좋을 듯 합니다.
https://msdn.microsoft.com/en-us/library/ms176057.aspx
기본적으로는 IDENTITY가 Unique 하게 증가하지만 Row를 삭제하고 Reseed 한 경우에는 기존에 삭제한 값도 다시 들어갈 수 있습니다.
identity_insert 를 하지 않는 이상은 그렇지 않을텐데요.
1씩 증가한다는 보장은 없지만 유니크가 맞을텐데 ㅠ
identity 컬럼에 고유 인덱스 키를 하나 잡으셔도 될려나요, 흠.