Microsoft SQL Server 2008 を使用しています。データベースには、自動インクリメント フィールド (ID) を持つテーブルがあります。私はすでにテーブルに 2 つの行を挿入しているので、次の行の ID は 3 になります。これを行う方法は?(97行を挿入して削除するように言わないでください)
いいえの場合は、テーブルを再作成することができますが、ID の値を最初に定義された値に設定する方法、つまり 1 からではなく 100 から開始する方法を教えてください。
Microsoft SQL Server 2008 を使用しています。データベースには、自動インクリメント フィールド (ID) を持つテーブルがあります。私はすでにテーブルに 2 つの行を挿入しているので、次の行の ID は 3 になります。これを行う方法は?(97行を挿入して削除するように言わないでください)
いいえの場合は、テーブルを再作成することができますが、ID の値を最初に定義された値に設定する方法、つまり 1 からではなく 100 から開始する方法を教えてください。
はい、もちろん:
SET IDENTITY_INSERT dbo.YourTable ON
INSERT INTO dbo.YourTAble(AutoIncID, ...other columns....)
VALUES(100, ......)
SET IDENTITY_INSERT dbo.YourTable OFF
を使用するSET IDENTITY_INSERT ... ON
と、列に値を明示的に挿入できIDENTITY
ます。ただし、オフにすることを忘れないでください。また、SQL Server への接続では、一度に 1 つのテーブルのみがこの設定を持つことができますON
また、これを行うと、現在のIDENTITY
値は 100 になります。したがって、通常の方法で (SET IDENTITY_INSERT ON
アクティブなしで) 挿入する次の行は、101 の ID 値を取得し、次に 102 などを取得します。