0

postgres の列値として bigserial を使用しています。bigserial は自動的にインクリメントされるようになりましたが、同じユーザー名が入力されたときにインクリメントしたくありません。間違った pg 挿入値の場合、bigserial がその値を増加させないようにする方法はありますか。または、bigserial 値の値を減らす方法はありますか。

4

1 に答える 1

0

SEQUENCE次の 2 つの方法のいずれかに関連付けられた の現在の値を設定できます。

  1. SQL ステートメントの場合:

    ALTER SEQUENCE my_seq RESTART WITH 12345;
    
  2. setval():

    SELECT setval('my_seq', 12345, FALSE);
    

重複キー エラーが発生しないように注意してください。これは同時トランザクションではうまく機能しないことに注意してください。マニュアルの注意事項をお読みください。
ID のギャップのないシーケンスが必要な場合、これはほとんど役に立ちません。そのためのコメントに注意してください。

于 2012-07-22T06:09:00.287 に答える