我有一个简单的更新查询:
UPDATE
FOO
SET
bar = true
WHERE
id in (1,2,3....)
我如何将其与完全相反的
结合起来UPDATE
FOO
SET
bar = false
WHERE
id NOT in (1,2,3....)
答案 0 :(得分:2)
只需将in
子句放入set
部分:
update foo
set bar = (id in (1,2,3, ...));
答案 1 :(得分:1)
您的预期输出可以通过CASE
语句实现:
UPDATE FOO SET bar = ( CASE WHEN id IN (1, 2, 3....) THEN true
WHEN id NOT IN (1, 2, 3....) THEN false
ELSE NULL END )
答案 2 :(得分:1)
您可以在Postgres中使用UPDATE
查询中的条件语句:Conditional statements in Postgres。
UPDATE
声明可以写在下面的表格中:
UPDATE
FOO
SET
bar = CASE WHEN id IN (1, 2, 3...)
THEN true
ELSE false
END