Test!

写真とWebデザインと時たまダイエット

PostgreSQLでINSERT時に自動採番の主キーが重複してエラーが出る場合の対処法

ERROR: duplicate key value violates unique constraint "table_pkey"

1.シーケンスの現在の値を確認
SELECT * FROM table_name_id_seq;

2.現在のidの最大値を取得
SELECT MAX(id) FROM table;

1で取得できたlast_valueの値が2で取得したIDより小さい場合ずれが生じてるのでエラーが発生する

3.シーケンスの値を修正する
SELECT setval('table_name_id_seq', (SELECT MAX(id) FROM table));