PostgreSQLでの自動インクリメント主キーの設定方法


  1. SERIALデータ型を使用する方法: SERIALデータ型は、自動的に増加する整数値を格納するために使用されます。次のようにテーブルを作成します。

    CREATE TABLE テーブル名 (
       id SERIAL PRIMARY KEY,
       列名1 データ型1,
       列名2 データ型2,
       ...
    );

    上記の例では、id列が自動的に増加する主キーとなります。

  2. SEQUENCEとDEFAULT制約を使用する方法: SEQUENCEは、シーケンスを生成するために使用されます。次のようにテーブルを作成し、DEFAULT制約としてSEQUENCEを指定します。

    CREATE SEQUENCE シーケンス名;
    CREATE TABLE テーブル名 (
       id INTEGER DEFAULT nextval('シーケンス名') PRIMARY KEY,
       列名1 データ型1,
       列名2 データ型2,
       ...
    );

    上記の例では、id列が自動的に増加する主キーとなります。

  3. GENERATED ALWAYS AS IDENTITYを使用する方法 (PostgreSQL 10以降): GENERATED ALWAYS AS IDENTITYは、PostgreSQL 10以降で利用可能な機能です。次のようにテーブルを作成します。

    CREATE TABLE テーブル名 (
       id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
       列名1 データ型1,
       列名2 データ型2,
       ...
    );

    上記の例では、id列が自動的に増加する主キーとなります。

これらの方法を使用することで、PostgreSQLで自動インクリメント主キーを設定することができます。