Postgresql返回Upsert查询是否添加了一个新行或删除了一个[重复]

e0uiprwp  于 5个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(63)

此问题在此处已有答案

Differentiate inserted and updated rows in UPSERT using system columns(1个答案)
21天前关闭
我想知道一个upsert/“on conflict do update”查询是否插入了一个新行或仅更新了一行。
有几种方法,这种工作,但他们不觉得正确以下是我目前的查询:

INSERT INTO mytable
  (id, mycolumn)
VALUES
  (123, 'abc')
ON CONFLICT DO UPDATE
  SET mycolumn = 'xyz'
RETURNING (
    select max(id)
    from mytable
  ) = id as inserted

字符串

sbtkgmzw

sbtkgmzw1#

这个问题出现在相关的,似乎是正确的答案Differentiate inserted and updated rows in UPSERT using system columns

RETURNING (xmax = 0) AS inserted

字符串

相关问题