以下のように作成したテーブルがあります。
CREATE TABLE [dbo].[Table1](
[ID] [INT] IDENTITY(1,1) NOT NULL,
[Title] [VARCHAR](255) NULL,
...
最新のIDが100だとしましょう(100レコードあります)
このテーブルのALTER
カラムをIDENTITY
し、自動インクリメント値を500に変更する方法はありますか?
したがって、最後に私はこのID 98、99、100、500、501などのようなものを持っています...
T-SQLでこれに対する解決策を見つけることができないようです
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;
結果:
98
99
100
500
501
502
以下を使用できます MSDN_DBCC CHECKIDENT お役に立てれば幸いです。
DBCC CHECKIDENT(Transact-SQL)
DBCC CHECKIDENTを使用して、ID列に新しい現在のID値を手動で設定できます。
DBCC CHECKIDENT
(
table_name
[, { NORESEED | { RESEED [, new_reseed_value ] } } ]
)
[ WITH NO_INFOMSGS ]
例
USE AdventureWorks2012;
GO
DBCC CHECKIDENT ('Person.AddressType', RESEED, 10);
GO