【发布时间】:2019-01-07 19:03:11
【问题描述】:
如何更改标识列?
例如我有表:
CREATE TABLE orders
(
id int IDENTITY(100,1)
Name varchar(250)
)
我需要改变为
CREATE TABLE orders
(
id int IDENTITY(1000,1)
Name varchar(250)
)
【问题讨论】:
标签: 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)
)
【问题讨论】:
标签: sql sql-server
基本上你想改变你的身份列的种子。您可以按如下方式使用 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 )
【讨论】: