【问题标题】:Combining two insert and update sql requests结合两个插入和更新 sql 请求
【发布时间】:2019-03-15 12:45:32
【问题描述】:

我有两个要求,第一个要压:

INSERT INTO COMMENTS(PRODUCT_ID, USER_NAME, ACTIVE) 
VALUES('1', 'Name', 'false') 
RETURNING COMMENT_ID;

第二次更新:

UPDATE COMMENTS 
SET ACTIVE = true 
WHERE PRODUCT_ID = '1'

我需要将它们合并到一个请求中吗?

【问题讨论】:

  • 为什么不在插入语句中提供true
  • 你为什么觉得有必要?
  • 按条件执行,默认产品未激活。
  • 我不知道,我想知道是否可以或有必要这样做。

标签: sql postgresql syntax upsert


【解决方案1】:

您可以使用on conflict 子句:

INSERT INTO COMMENTS(product_id, user_name, active) 
VALUES('1', 'Name', 'false') 
ON CONFLICT (product_id)
DO
UPDATE SET active = 'true'

【讨论】:

  • 这有效,但不会更改字段active
猜你喜欢
  • 2019-12-25
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多