从postgres中的另一个表列值更新列值

时间:2018-08-09 12:29:18

标签: postgresql

我有两个表格,如下所示:

  • abc

    • id
    • icon
    • timestamp
  • xyz

    • id
    • dob
    • abcId
    • icon
    • timestamp

我想用特定的icon更新xyz表中的id值。为此,我正在使用以下查询。

update xyz t set image = (select image from abc t1 where id = t.abcId);

但是这将更新所有值。谁能更新一下。

2 个答案:

答案 0 :(得分:2)

您忘了在WHERE语句中添加UPDATE子句,这就是所有行都更新的原因。

尝试在语句末尾添加以下内容:

WHERE t.id = 42

然后仅更新xyzid 42。

答案 1 :(得分:1)

我建议此查询:

update xyz t 
set image = 
    (select image from abc t1 where t1.id = t.abcId) 
where t.id="**ID That You Want To Update**";