然而,插入失败并显示以下错误:
我之后尝试通过控制台手动插入,但是我得到了相同的错误。 每次这样做时,id都会递增... 我有成千上万条记录,所以我不能一直点击直到我的手指断掉。ERROR: duplicate key value violates unique constraint "Primary Key some_table" Detail: Key (id)=(58) already exists.
这就是在创建表时`id`的样子:
id bigserial not null constraint "Primary Key some_table"
primary key
当我尝试修改表格时,我发现id有一个默认值,设置为:
nextval('some_table_id_seq'::regclass)
我已经尝试过:
INSERT INTO some_table (id,...columns..) VALUES (DEFAULT,...columns...);
并且
INSERT INTO some_table (...columns..) VALUES (...columns...);
但我收到了相同的错误信息...
我意识到我可以做一些类似的事情,运行查询以获取MAX id
,然后进行插入,但这对我来说似乎有点荒谬。
如何调整我的INSERT
,使其自动获取新的/下一个id
?
例如,MSSQL使用newid()
自动处理此问题。