如何更改身份列?
示例我有一张桌子:
CREATE TABLE orders
(
id int IDENTITY(100,1)
Name varchar(250)
)
我需要更改为
CREATE TABLE orders
(
id int IDENTITY(1000,1)
Name varchar(250)
)
答案 0 :(得分:5)
基本上,您想更改标识列的种子。您可以使用dbcc命令,如下所示
DBCC CHECKIDENT('orders' , RESEED , 1000)
答案 1 :(得分:0)
如果您还希望更新出口列,则可以执行以下操作
注意:您的转换表必须与订单表完全相同。相同的列等,并以相同的顺序。
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 )