1. ホーム
  2. データベース
  3. ポストグレスキュー

postgreSQLのクエリ結果に自己インクリメントシーケンス演算が追加されました。

2022-01-19 10:52:46

postgreのみで実験したところ、うまくいきました。

ROW_NUMBER () OVER (ORDER BY col_name ASC) AS ids

以下は、私の実験のスクリーンショットです。

追記:postgresql は既存のフィールドにインクリメントを作成し、インクリメントは最大の id+1 から開始します。

/*Modify the table's id attribute to be self-incrementing*/
CREATE SEQUENCE test_id_seq
  START WITH 1
  INCREMENT BY 1
  NO MINVALUE
  NO MAXVALUE
  CACHE 1;

start with シーケンス開始値

increment by インクリメンタル値

自己インクリメントの属性をテーブルに追加する

alter table test
alter column id set default nextval('test_id_seq');

次の自己の値を最大のid+1に設定する

select setval('test_id_seq',(select max(id)+1 from asset_detect_task));

上記は私の個人的な経験であり、あなたに参考を与えることができ、また、より多くのスクリプトハウスをサポートすることができます願っています。もし、間違いや不完全な考察があれば、遠慮なくアドバイスしてください。