sql >> データベース >  >> RDS >> PostgreSQL

テーブル列の自動インクリメント

    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での生活を楽にします。



    1. Google BigQueryで数千のカテゴリのダミー変数列を作成するにはどうすればよいですか?

    2. DjangoでPostgreSQLデータベースを設定する方法

    3. OLE DBソースコンポーネントのストアドプロシージャパラメータに値を渡すにはどうすればよいですか?

    4. PHPMyAdminを使用したcPanelでのMySQLデータベースの管理