作插入操作:
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不是自动寻找最大值,然后自增么?
Di sini saya mendapat jawapan Bagaimana untuk menetapkan semula urutan kunci utama postgres apabila ia tidak segerak? kepada soalan ini.
Sesuatu yang tidak kena dengan
id sequence
saya.Saya membetulkannya dengan melakukan ini.
=> 11518
=> 2324 # di sini adalah lebih rendah daripada maks(id)
=> 11518 # betulkan
=> 11519 # selesai!