根据列的当前值更新列

Sha*_*pov 2 sql postgresql sql-update

有没有一种方法可以通过一个查询根据当前值更改字段值?

就像我一样tbl.team,如果它是 value = 1,请将其更改为2. 反之亦然,tbl.team = 2=> 1

小智 6

您可以使用 case 表达式有条件地更新列:

update the_table
  set team = case 
                when team = 1 then 2
                else 1
             end
where team in (1,2);
Run Code Online (Sandbox Code Playgroud)