更新表格中的多个字段

时间:2019-05-21 10:49:46

标签: postgresql

我一直在尝试更新表transsit的{​​{1}}列中的多个字段值。

我有一个名为tracking_details的表,该表由两列tracking_detailsid

组成

示例transsit表:-

tracking_details

在这里,我想将id | transsit ------------------ 1 | rec 2 | rec 3 | sen 4 | 5 | rec 更改为rec等于received的{​​{1}}

到目前为止,我所做的是:

id

然后我遇到以下错误:

1,2 and 5

2 个答案:

答案 0 :(得分:4)

UPDATE tracking_details
SET transsit = 'received'
WHERE id IN (select id from tracking_details where transsit='rec');

对于多行更新,请使用IN而不是=,因为=总是只有一行,或者您可以简单地使用join。

UPDATE tracking_details a
JOIN tracking_details b
  ON a.id=b.id
SET a.transsit = 'received'
Where b.transsit='rec';

Furthurmore查看查询,您可以使用单个查询完成

UPDATE tracking_details 
SET transsit = 'received'
WHERE transsit='rec';

答案 1 :(得分:2)

您可以简单地使用UPDATE子句来创建WHERE

 UPDATE tracking_details
        SET transsit = 'received'
        WHERE transsit = 'rec';