>  Q&A  >  본문

python - postgresql 插入时报错ID已存在

作插入操作:

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,报错ID已存在。

数据库插入操作,ID不是自动寻找最大值,然后自增么?

PHP中文网PHP中文网2765일 전467

모든 응답(1)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 09:46:40

    여기에서 postgres의 기본 키 시퀀스가 ​​동기화되지 않을 때 재설정하는 방법에 대한 답변을 얻었습니다. 이 질문에.

    id sequence에 문제가 발생했습니다.

    이렇게 해서 고쳤습니다.

    으아아아

    => 11518

    으아아아

    => 2324 # 여기서는 max(id)보다 낮습니다

    으아아아

    => 11518 # 고치세요

    으아아아

    => 11519 #완료!

    회신하다
    0
  • 취소회신하다