-1
我有以下查询,现在一个成功插入Postgresql upsert在冲突时返回ID?
INSERT INTO match (match_id) values(?) ON CONFLICT DO NOTHING RETURNING id
我怎样才能让这个返回已经存在冲突行的id
后返回的ID?
我有以下查询,现在一个成功插入Postgresql upsert在冲突时返回ID?
INSERT INTO match (match_id) values(?) ON CONFLICT DO NOTHING RETURNING id
我怎样才能让这个返回已经存在冲突行的id
后返回的ID?
使用ON CONFLICT DO UPDATE
而不是确保查询某行工作,因此可以返回的东西:
CREATE TABLE match(id serial PRIMARY KEY);
INSERT INTO match (id) VALUES (1)
ON CONFLICT (id) DO UPDATE
SET id = excluded.id
RETURNING id;
我得到以下错误“org.postgresql.util.PSQLException:错误:冲突DO更新需要推理规范或约束名称 提示:例如,ON CONFLICT(column_name)。 Position:41“ – Arya
另外我想提一下,它是'match_id',我正在设置,并且我想'id'返回 – Arya
我的不好,你必须指定什么是冲突 - 我已编辑。尽管除非'id'基于'match_id',我可以指定你要更新和返回的内容,但我不知道如何在没有在插入中明确指定冲突的情况下触发冲突。 – dmfay