我有一个包含两列a
和b
的表格。还有一个id
列,它是主键。我现在想要更新表格中的一行,如下所示:
a
。b
。是否可以在一个UPDATE
语句中进行此类更新?
答案 0 :(得分:2)
您可以使用CASE
:
UPDATE tab
SET a = val
,b = CASE WHEN b = provided_value THEN new_value ELSE b END
WHERE ...;
从技术上讲,b
总是会更新,但会从b
- >更改身份。 b
答案 1 :(得分:0)
您可以应用case
条件
update table1 set
a = updatevala,
b = (case when bcondition then updatevalb else b end)