sql - 删除行后重用标识值

标签 sql sql-server tsql sql-server-2008 identity

在 SQL Server 2008 Express 中删除行后是否可以重用标识字段值?这是一个例子。假设我有一个表,其中一个 Id 字段作为主键(身份)。如果我添加五行,我将有这 5 个 Id:1、2、3、4、5。如果我要删除这些行,然后再添加 5 行,新行将有 Id:6、7、8、 9, 10. 是否可以让其再次从 1 开始?

我是否必须从另一个表中删除数据才能完成此操作?感谢您的帮助。

最佳答案

您可以使用以下命令来设置 IDENTITY 值:

DBCC CHECKIDENT (orders, RESEED, 999)

这意味着您必须根据每个 DELETE 运行该语句。这应该开始凸显为什么这是一个坏主意......

数据库不关心顺序值 - 这仅用于演示。

关于sql - 删除行后重用标识值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4288089/

相关文章:

sql-server - SQL递归CTE图遍历

sql-server-2008 - 将Excel导入SQL Server 2008

SQL:即使不是全部都被执行,我怎样才能确保所有 SELECT Cases 都被表示出来?

sql - TSQl:选择当前日期 - 6 天并将时间设置为 12:01 AM

sql - 如何用表中的新主键替换现有主键?

sql-server - Script 和 ScriptWithList 有什么区别?

sql - 没有指定排序依据时,SELECT TOP如何工作?

c# - 日期升序排序

mysql - 防止恶意sql注入(inject)

sql - 如何优先从SQL Server中的连接表中获取数据