一尘不染

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

sql

我只是注意到,如果表中有一个标识列,则在我插入新行时,如果存在不连续性,SQL Server
2008会自动填充该序列。我的意思是,如果我的身份列我有1,2,5,6,如果我在表系统会将自动插入其他两行 3 ,7标识列。

你知道如何控制这种行为吗?

谢谢


阅读 150

收藏
2021-05-05

共1个答案

一尘不染

这是已定义和记录的SQL Server行为,实际上,您无能为力。您想要更改什么?

IDENTITY列将保证唯一且不断增加的ID(只要您不搞乱它们)-他们不保证其他任何事情。

SQL Server 不会 麻烦发现序列中的“缺口”并填满它们。无论如何,我认为这不是一个好主意-如果您确实有ID =
3的记录,然后将其删除怎么办?您是否真的要下一条记录突然“回收”该ID?我认为这不是一个好主意。

2021-05-05