sql-server – 在sql server中重新排序Identity主键

前端之家收集整理的这篇文章主要介绍了sql-server – 在sql server中重新排序Identity主键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是的,我非常清楚后果.但我只是想重新排序它们.从1开始到结束.

如何使用单个查询重新排序密钥?

它是聚簇主键索引

像重新排序一样

  1. First record Id 1
  2. second record Id 2

主键是Int

解决方法

>丢弃PK约束
>删除标识列
>重新创建标识列
>重新创建PK
  1. USE Test
  2. go
  3.  
  4. if(object_id('IdentityTest') Is not null)
  5. drop table IdentityTest
  6.  
  7. create table IdentityTest
  8. (
  9. Id int identity not null,Name varchar(5),constraint pk primary key (Id)
  10. )
  11.  
  12. set identity_insert dbo.IdentityTest ON
  13. insert into dbo.IdentityTest (Id,Name) Values(23,'A'),(26,'B'),(34,'C'),(35,'D'),(40,'E')
  14. set identity_insert dbo.IdentityTest OFF
  15.  
  16.  
  17.  
  18. select * from IdentityTest
  19.  
  20. ------------------1. Drop PK constraint ------------------------------------
  21. ALTER TABLE [dbo].[IdentityTest] DROP CONSTRAINT [pk]
  22. GO
  23. ------------------2. Drop Identity column -----------------------------------
  24. ALTER table dbo.IdentityTest
  25. drop column Id
  26. ------------------3. Re-create Identity Column -----------------------------------
  27. ALTER table dbo.IdentityTest
  28. add Id int identity(1,1)
  29. -------------------4. Re-Create PK-----------------------
  30. ALTER TABLE [dbo].[IdentityTest] ADD CONSTRAINT [pk] PRIMARY KEY CLUSTERED
  31. (
  32. [Id] ASC
  33. )
  34.  
  35. --------------------------------------------------------------
  36. insert into dbo.IdentityTest (Name) Values('F')
  37. select * from IdentityTest

猜你在找的MsSQL相关文章