-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