[英]INNER JOIN on UPDATE with WHERE updating every record in Postgres
我正在嘗試更新單個記錄並通過執行鏈接到users
表的createdby
INNER JOIN de ID返回更新記錄的所有者的電子郵件。
這是查詢:
UPDATE requests
SET statusid = 2
FROM requests AS r
INNER JOIN users
ON r.createdby = users.id
WHERE r.id =10
RETURNING r.id, users.email;
但這會更新每條記錄而不是使用WHERE
。
我究竟做錯了什么?
在Postgres中,您不會重復在FROM
中更新的表。 所以:
UPDATE requests r
SET statusid = 2
FROM users u
WHERE r.createdby = u.id AND r.id =10
RETURNING r.id, u.email;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.