1

Microsoft SQL Server 2008 を使用しています。データベースには、自動インクリメント フィールド (ID) を持つテーブルがあります。私はすでにテーブルに 2 つの行を挿入しているので、次の行の ID は 3 になります。これを行う方法は?(97行を挿入して削除するように言わないでください)

いいえの場合は、テーブルを再作成することができますが、ID の値を最初に定義された値に設定する方法、つまり 1 からではなく 100 から開始する方法を教えてください。

4

2 に答える 2

4

はい、もちろん:

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 などを取得します。

于 2013-04-27T14:24:41.023 に答える