回答

收藏

SQL Server和“身份”列中的差距

技术问答 技术问答 78 人阅读 | 0 人回复 | 2023-09-13

我只是注意到,如果表中有一个标识列,则在我插入新行时,如果存在不连续性,SQL Server+ M* X' O" [. t  y
2008会自动填充该序列。我的意思是,如果我的身份列我有1,2,5,6,如果我在表系统会将自动插入其他两行 3 ,7标识列。
) E# u# i  J# ^* Y0 ]! }" Y2 l你知道如何控制这种行为吗?
# `1 n" \# ]1 t! H% k( x1 \, h谢谢; I7 n8 n4 [' c" h1 n! a5 o+ T
               
9 T* W, ]3 U0 p* C解决方案:! o/ x7 B  P5 c
                3 M0 ^* m8 Q, R2 l/ j( q4 R
; u8 c# M% e: |9 l. k6 S* [& P
1 x0 _- g4 P- E5 C7 E# \
                这是已定义和记录的SQL Server行为,实际上,您无能为力。您想要更改什么?1 O6 Z* ?, C! s2 f& i( b* {
IDENTITY列将保证唯一且不断增加的ID(只要您不搞乱它们)-他们不保证其他任何事情。
( Y3 L/ l1 R/ {$ d* S6 NSQL Server 不会 麻烦发现序列中的“缺口”并填满它们。无论如何,我认为这不是一个好主意-如果您确实有ID =
3 `- T8 {/ B! N+ M6 `9 C7 L0 F% }5 K3的记录,然后将其删除怎么办?您是否真的要下一条记录突然“回收”该ID?我认为这不是一个好主意。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则