如何更改标识列?
示例我有一个表:
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 )