めったにないとおもうのですけど、たまに移行とかしたときに
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 ですね
ほんと、こんなことを書いてる時点でへっぽこなのがわかりまくりんぐなのですよね とーほほー!><
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 ですね
ほんと、こんなことを書いてる時点でへっぽこなのがわかりまくりんぐなのですよね とーほほー!><