将所有行更新为0,仅将1更新为1

时间:2017-07-25 13:31:57

标签: sql sql-update

如何更新0处的所有行,并且只将id = x的行更新为1。

UPDATE car_ads 
SET deal_of_the_week_p = IF(deal_of_the_week_p = 1, 0, 1) 
WHERE ad_id = 999

现在我有类似的东西但是没有用。

由于

1 个答案:

答案 0 :(得分:1)

假设您使用的是符合标准的DBMS,您可以使用

UPDATE car_ads SET deal_of_the_week_p = CASE WHEN ad_id = 999 THEN 1 ELSE 0 END

或者,它可以作为2个单独的更新运行 -

UPDATE car_ads SET deal_of_the_week_p = 0 UPDATE car_ads SET deal_of_the_week_p = 1 WHERE ad_id = 999

相关问题