Change IDENTITY column



如何更改标识列?

示例我有一个表:

CREATE TABLE orders
(
id int IDENTITY(100,1)
Name varchar(250) 
)

我需要换成

CREATE TABLE orders
(
id int IDENTITY(1000,1)
Name varchar(250) 
)

基本上,您想要更改标识列的种子。您可以按照以下使用dbcc命令

DBCC CHECKIDENT('orders' , RESEED , 1000)

如果您想更新退出的列以及,可以执行类似的操作

注意:您的切换表必须与订单表完全相同。相同的列等,按照相同的顺序。

CREATE TABLE orders_switch
(
Name varchar(250) ,
id int IDENTITY(1000,1)
)

insert into orders_switch
select [Name] from orders

truncate table dbo.orders   alter table [dbo].[orders_switch]      switch to   [dbo].[orders] 
declare @max int 
set @max = (select MAX(id) +1 from dbo.orders)
DBCC CHECKIDENT('orders' , RESEED , @max )

最新更新