在 Microsoft SQL Server 2008 R2 中重置自动增量

Posted

技术标签:

【中文标题】在 Microsoft SQL Server 2008 R2 中重置自动增量【英文标题】:Reset autoincrement in Microsoft SQL Server 2008 R2 【发布时间】:2012-12-01 05:42:04 【问题描述】:

我创建了一个主键来自动递增。

我添加了两行:ID=1, ID=2 我删除了这两行。 我添加了一个新行,但新行的 ID 是:ID=3

如何将自动增量重置或重新启动为 1?

【问题讨论】:

【参考方案1】:

如果您使用DBCC CHECKIDENT 命令:

 DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1);

但是谨慎使用! - 这只会将IDENTITY 重置为 1 - 所以你的下一个插入将获得值 1,然后是 2,然后是 3 --> 你将拥有在这里与您先前存在的 3 值发生冲突!

IDENTITY 只是按连续顺序排列数字 - 它确实以任何方式确保没有冲突!如果您已经有了值 - 请不要重新设置为较低的值!

【讨论】:

我忘了说,我正在使用 Management Studio,所以我想用 Management Studio 重新播种 @victorio: 只需打开一个新的查询窗口并执行这个 T-SQL 命令! 我正在使用 SQL Server 2008 并重置为值 1 我必须在最后一个参数上输入 0,然后:DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0);【参考方案2】:

我正在使用 SQL Server 2012,而 DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1) 在下一次插入时会产生 2 的值。

因此,对于 SQL Server 2012,将 1 更改为 0 以获取 1 的值以进行下一条记录插入:

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0);  -- value will be 1 for the next record insert

【讨论】:

以上是关于在 Microsoft SQL Server 2008 R2 中重置自动增量的主要内容,如果未能解决你的问题,请参考以下文章

客户端统计表 (Microsoft SQL Server Management Studio)

Microsoft SQL Server 2016,T-SQL:根据各个日期获取数据集的日期范围

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

SQLSTATE[08001]:[Microsoft][ODBC Driver 17 for SQL Server]TCP 提供程序:错误代码 0x2746

如何把SQL Server 2008卸载干净

Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不存在或访问被拒绝