anti scroll

ブラウザと小説の新しい関係を模索する

postgres 覚え書き

 以下、管理人以外にはどーでもいい覚書

 テーブルを作る際にシーケンス設定していなかったカラムを、途中からシーケンス設定した場合、start は1から設定され、nextvalは2になるが、これはシーケンス設定前に既に割り振られていた作品番号の最小値といずれぶつかる。

 一度作成されたシーケンスの現在の値をupdate で更新することができなかったので(あるかもしれないけど、やる方法がわからなかった)、こういう場合は、一端シーケンスを削除して、シーケンスのstart値をその時点での連番の最大値の次の値を選ぶようにする。

 その上で、テーブル追加時には、

values(nextval('シーケンス名'),〜)

 のようにして次の連番を抽入するように変更する。これで、番号の衝突はmaxvalueまで起こらない。

<追記>
 シーケンスのcycle ってカラムをtにすればよかったのかな?