Postgres10以降
serial
列(以下を参照)は変更されません。ただし、 IDENTITY
を検討してください 桁。 Postgres10はこの標準SQL機能を実装しています。
CREATE TABLE
のマニュアルの基本的な構文と情報 。
主な著者であるPeterEisentrautのこのブログエントリの詳細な説明。
作成 IDENTITY
のテーブル 列
CREATE TABLE staff (
staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
, staff text NOT NULL
);
追加 IDENTITY
既存のテーブルへの列
テーブルには行が入力されている場合とされていない場合があります。
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY;
同時にそれをPKにするため(テーブルはまだPKを持つことができません):
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY;
関連:
- PostgreSQL 10 ID列を行のある既存のテーブルに追加するにはどうすればよいですか?
交換 serial
IDENTITY
を使用 列
参照:
- テーブルIDをシリアルからIDに変更するにはどうすればよいですか?
Postgres9.6以前
(または実際には任意のバージョン。)serial
を使用します 代わりに疑似データ型:
CREATE TABLE staff (
staff_id serial PRIMARY KEY,
, staff text NOT NULL
);
シーケンスオブジェクトを自動的に作成して添付し、DEFAULT
を設定します nextval()
へ シーケンスから。必要なことはすべて実行します。
この例では小文字の識別子を使用しました。 Postgresでの生活を楽にします。