-
SERIALデータ型を使用する方法: SERIALデータ型は、自動的に増加する整数値を格納するために使用されます。次のようにテーブルを作成します。
CREATE TABLE テーブル名 ( id SERIAL PRIMARY KEY, 列名1 データ型1, 列名2 データ型2, ... );
上記の例では、
id
列が自動的に増加する主キーとなります。 -
SEQUENCEとDEFAULT制約を使用する方法: SEQUENCEは、シーケンスを生成するために使用されます。次のようにテーブルを作成し、DEFAULT制約としてSEQUENCEを指定します。
CREATE SEQUENCE シーケンス名; CREATE TABLE テーブル名 ( id INTEGER DEFAULT nextval('シーケンス名') PRIMARY KEY, 列名1 データ型1, 列名2 データ型2, ... );
上記の例では、
id
列が自動的に増加する主キーとなります。 -
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で自動インクリメント主キーを設定することができます。