加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:57:56 所属栏目:MsSql教程 来源:网络整理
导读:是的,我非常清楚后果.但我只是想重新排序它们.从1开始到结束. 如何使用单个查询重新排序密钥? 它是聚簇主键索引 像重新排序一样 First record Id 1 second record Id 2 主键是Int 解决方法 丢弃PK约束 删除标识列 重新创建标识列 重新创建PK USE Testgoif(ob
是的,我非常清楚后果.但我只是想重新排序它们.从1开始到结束.

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

它是聚簇主键索引

像重新排序一样

First record Id 1 
second record Id 2

主键是Int

解决方法

>丢弃PK约束
>删除标识列
>重新创建标识列
>重新创建PK
USE Test
go

if(object_id('IdentityTest') Is not null)
drop table IdentityTest

create table IdentityTest
(
Id int identity not null,Name varchar(5),constraint pk primary key (Id)
)

set identity_insert dbo.IdentityTest ON
insert into  dbo.IdentityTest (Id,Name) Values(23,'A'),(26,'B'),(34,'C'),(35,'D'),(40,'E')
set identity_insert dbo.IdentityTest OFF



select * from IdentityTest

------------------1. Drop PK constraint ------------------------------------ 
ALTER TABLE [dbo].[IdentityTest] DROP CONSTRAINT [pk]
GO
------------------2. Drop Identity column -----------------------------------
ALTER table dbo.IdentityTest
drop column Id
------------------3. Re-create Identity Column -----------------------------------
ALTER table dbo.IdentityTest
add Id int identity(1,1)
-------------------4. Re-Create PK-----------------------
ALTER TABLE [dbo].[IdentityTest] ADD  CONSTRAINT [pk] PRIMARY KEY CLUSTERED 
(
[Id] ASC
)

--------------------------------------------------------------
insert into  dbo.IdentityTest (Name) Values('F')
select * from IdentityTest

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读