SQL ServerでIDを自動増加する方法は何ですか?

SQL Server内で、自動増分のIDフィールドを設定する方法は2種類あります:

  1. アイデンティティ(1,1)
CREATE TABLE TableName (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    ...
);

上記の例では、IDフィールドは整数型であり、IDENTITY(1,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の自動増加機能を実現することができます。

bannerAds