更改身份列

时间:2018-07-31 11:34:57

标签: sql sql-server

如何更改身份列?

示例我有一张桌子:

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

我需要更改为

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

2 个答案:

答案 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 )