name
をデータベースに挿入しようとしました。Postgresqlエラー:insert操作の戻り値がPythonに存在する
name = 'test'
cur.execute("INSERT INTO scholars(name) VALUES('{}') returning id".format(name))
id = cur.fetchone()
print(id)
エラーメッセージ:
psycopg2.IntegrityError: duplicate key value violates unique constraint "idx_16514_primary"
DETAIL: Key (id)=(2321) already exists.
id=2301
、それが成功すると、IDを返すとき。 その後、id += 1
を返し、以下のエラーを返します。
http://ob9j09f06.bkt.clouddn.com/2016-10-12-16%3A31%3A12.jpg
シーケンスを正しく更新せずに手動で値を挿入しましたか? –
あなたのIDシーケンスに何か問題があるかもしれません。 'id curlval(pg_get_serial_sequence( 'scholars'、 'id'));'を実行すると、idシーケンスによって作成された最新の値が表示されます。 – kxxoling