簡體   English   中英

INNER JOIN UPDATE,WHERE更新Postgres中的每條記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM