如何更改除id选择的行之外的所有其他行

时间:2016-11-01 20:23:34

标签: mysql

我有这张桌子。

id      title     name    active
_____   ______    _____   _____

1       kdfl      lsdf    0
2       ksdl      klsd    1
3       ewrl      oxcl    0

我想查询表,以便当我获取id并将活动列更改为1时,所有其他行的活动列都更改为0.相反,如果我将其设置为0,则所有其他行将更改为1。 / p>

我尝试过这个特定的查询

UPDATE themes SET active = 1 WHERE id = 3, SET active = 0 WHERE id = 2

1 个答案:

答案 0 :(得分:1)

将记录设为ID = 21,将所有其他记录设为0

UPDATE themes 
SET active = case when id = 2
                  then 1
                  else 0
             end