Sql-Server

將 auto_increment 重新設置為特定數字?

  • October 13, 2018

是否可以將表的標識列設置為從特定值開始?

我正在將 ETL 階段從 mysql 轉換為 sql server 數據庫,其中暫存數據庫從主數據庫中的最大值開始載入具有唯一 ID 的記錄(這不是自動遞增的)。mysql是這樣的:

SET @s = Concat('alter table table_1 auto_increment=',coalesce(@indexmaxt,0)+1);

理想情況下,這就是我想要做的:

DBCC CHECKIDENT (table_1 , RESEED, @indexmaxt+1)

在 SQL Server 中這是可能的還是不可能的

這行得通,這能回答你的問題嗎?

create table dbo.test (id int identity(1,1), value int);


declare @indexmaxt int = 9999,@indexmaxt2 int;
SET @indexmaxt2 = @indexmaxt+1;
DBCC CHECKIDENT ('dbo.test' , RESEED, @indexmaxt2);


insert into dbo.test(value) values(1);

select * from dbo.test;

結果:id 10000

值 1

引用自:https://dba.stackexchange.com/questions/219050