2011-11-25(Fri)
postgreSQL Sequenceを変更してみる
postgreSQLでinsertを実行すると以下のようなエラーが出た。
id=5でinsertしようとしたら既に存在している番号なのでエラーです。と言っている。
本当か確認すると
確かに既に存在している。
idは33のレコードまで存在していた。
last_valueを変更します。
これでOK、insertが成功した。
参考:
PostgreSQL徹底入門 第3版
新標準PostgreSQL (オープンソースRDBMSシリーズ)
duplicate key value violates unique constraint "spot_t_pkey"
Key (id)=(5) already exists.
id=5でinsertしようとしたら既に存在している番号なのでエラーです。と言っている。
本当か確認すると
SELECT last_value FROM hoge_t_id_seq;
last_value
------------
5
(1 row)
確かに既に存在している。
idは33のレコードまで存在していた。
last_valueを変更します。
SELECT setval('hoge_t_id_seq', 33) ;
setval
--------
33
(1 row)
これでOK、insertが成功した。
参考:
PostgreSQL徹底入門 第3版
新標準PostgreSQL (オープンソースRDBMSシリーズ)
- 関連記事
-
- postgreSQLのnextvalとsetval
- postgreSQL Sequenceを変更してみる
- postgreSQL 制約条件の変更
スポンサーサイト