Dus*_*ust 1 sql-server auto-increment t-sql sql-server-2008-r2 identity
我有一个创建如下的表。
CREATE TABLE [dbo].[Table1](
[ID] [INT] IDENTITY(1,1) NOT NULL,
[Title] [VARCHAR](255) NULL,
...
Run Code Online (Sandbox Code Playgroud)
假设最新的 ID 是 100(我有 100 条记录)
有没有办法到ALTER
这个表的IDENTITY
列并将自动增量值更改为现在 500?
所以最后我会得到这样的 ID 98, 99, 100, 500, 501, ....
我似乎无法在 T-SQL 中找到解决方案
Aar*_*and 11
您可以使用DBCC CHECKIDENT
重新设定IDENTITY
列的种子。
这是您可以运行的示例:
SET NOCOUNT ON;
USE tempdb;
GO
CREATE TABLE dbo.foo(ID INT IDENTITY(1,1));
GO
INSERT dbo.foo DEFAULT VALUES;
GO 100
-- note: set it to ([the next value you want] - 1)
DBCC CHECKIDENT(N'dbo.foo', RESEED, 499);
GO
INSERT dbo.foo DEFAULT VALUES;
GO 3
SELECT ID FROM dbo.foo WHERE ID >= 98;
Run Code Online (Sandbox Code Playgroud)
结果:
98
99
100
500
501
502
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19468 次 |
最近记录: |