作插入操作:
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不是自动寻找最大值,然后自增么?
怪我咯2017-04-18 09:46:40
여기에서 postgres의 기본 키 시퀀스가 동기화되지 않을 때 재설정하는 방법에 대한 답변을 얻었습니다. 이 질문에.
id sequence
에 문제가 발생했습니다.
이렇게 해서 고쳤습니다.
으아아아=> 11518
으아아아=> 2324 # 여기서는 max(id)보다 낮습니다
으아아아=> 11518 # 고치세요
으아아아=> 11519 #완료!