sql-server – 在sql server中重新排序Identity主键
发布时间:2020-05-24 10:09:53 所属栏目:MsSql 来源:互联网
导读:是的,我非常清楚后果.但我只是想重新排序它们.从1开始到结束. 如何使用单个查询重新排序密钥? 它是聚簇主键索引 像重新排序一样 First record Id 1 second record Id 2 主键是Int 丢弃PK约束 删除标识列 重新创建标识列 重新创建PK USE Testgoif(object_id(I
|
是的,我非常清楚后果.但我只是想重新排序它们.从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 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用Linq或Lambda表达式的SQL之间的等效
- sql – Django ORM – 获取组的最新记录
- linq-to-sql – Linq to SQL和Linq to Objects查询相同吗?
- SQL Server和Oracle的EF和TransactionScope没有升级/跨越到
- 在大多数SQL实现中,与标准编程语言相反,为什么x!= null不返
- sql – 我们可以在BigQuery中的两个不同项目中对表执行连接
- MySQL中describe命令的使用方法小结
- sql – 设计一个可能相互矛盾的列的数据库是否可以
- SQL一条语句统计记录总数及各状态数
- sql – 查看具有表中某列的外键的所有表?
