SQL ServerでIDを自動増加する方法は何ですか?
SQL Server内で、自動増分のIDフィールドを設定する方法は2種類あります:
- アイデンティティ(1,1)
CREATE TABLE TableName (
ID INT IDENTITY(1,1) PRIMARY KEY,
...
);
上記の例では、IDフィールドは整数型であり、IDENTITY(1,1) プロパティが使用されています。ここで、1は開始値を1、1は各増分を1と表します。
- SQL Server 2012以降のバージョンでは、SEQUENCEオブジェクトを使用して自動的に増加するIDを生成することができます。まず、SEQUENCEオブジェクトを作成し、その後、テーブルのIDフィールドでNEXT VALUE FOR式を使用する必要があります。例えば:
CREATE SEQUENCE SequenceName
START WITH 1
INCREMENT BY 1
MINVALUE 1
NO MAXVALUE
NO CYCLE;
CREATE TABLE TableName (
ID INT DEFAULT (NEXT VALUE FOR SequenceName) PRIMARY KEY,
...
);
上の例では、最初にSequenceNameという名前のSEQUENCEオブジェクトが作成され、初期値が1で1ずつ増加します。次に、テーブルを作成する際に、IDフィールドのデフォルト値をNEXT VALUE FOR SequenceNameに設定することで、自動増分機能を実現できます。
どんな方法でも、SQL Server内でのIDの自動増加機能を実現することができます。