【问题标题】:How to reset/restart primary key in SQL Server in T-SQL? [duplicate]如何在 T-SQL 中重置/重新启动 SQL Server 中的主键? [复制]
【发布时间】:2020-08-05 12:41:19
【问题描述】:

我有一个 T-SQL 数据库,其中有一个表突然在主键 5 -> 1005 中有一个巨大的跳跃。有没有办法将 PK 重置回例如。 6?

我尝试了以下方法:

USE [database name]
GO
ALTER SEQUENCE [schema name].[table name].[pk name]
    RESTART WITH 6
GO

但它返回错误'CREATE SEQUENCE' does not allow specifying the database name as a prefix to the object name.

我已经尝试了查询的所有合理变体,但没有运气。有没有其他方法可以重启或者重置PK?

【问题讨论】:

标签: sql-server tsql


【解决方案1】:

要理解的重要一点是,序列不属于表格——它不是表格的一部分。不要指定表,只指定模式和序列名称。

USE [database name]
GO
ALTER SEQUENCE [Schema Name].[Sequence Name]
    RESTART WITH 6
GO

【讨论】:

    【解决方案2】:

    如果你使用identity column,你可以使用

    DBCC CHECKIDENT ('[schema_name].[table_name]', reseed, 0)
    

    请参阅documnetation 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 2018-11-30
      • 2013-04-11
      • 1970-01-01
      相关资源
      最近更新 更多