しすてむ さんぽみち。

適当なしすてむ紹介など。ようはくだらないBlog(´▽`)

sequenceがずれてしまった場合に直す方法

2008-10-20 18:01:33 | postgres
めったにないとおもうのですけど、たまに移行とかしたときに
sequenceがずれてしまたりするんですね。
で、いつも直す方法忘れてしまうのでメモ。


select setval('シーケンス',(select max(シーケンスを利用するカラム) from テーブル名));

例えば、商品テーブル(item)のID(id)をシーケンス利用していた場合
select setval('item_id_seq',(select max(id) from item));
とすれば itemテーブルの最大のIDをシーケンスのmax値に設定してくれます。

シーケンスは serial型で指定したのみであれば 大体 テーブル名_カラム名_seqという形になるかと思います。

item_id_seq は
item(テーブル名)_id(利用するカラム名)_seq ですね


ほんと、こんなことを書いてる時点でへっぽこなのがわかりまくりんぐなのですよね とーほほー!><



最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。