2017-07-25 61 views
0

如何更新所有行,在0和只有ID = X設置1更新所有行爲0,只有一個1

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

現在我有類似的東西,但不能正常工作。

感謝

+0

這是什麼類型的SQL? 「不工作」是什麼意思? –

+0

向我們展示數據庫模式,樣本數據和預期輸出。 \t請閱讀[**如何提問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是一個偉大的地方[** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)來了解如何提高您的問題質量並獲得更好的答案。 \t [**如何創建一個最小的,完整的,並且可驗證例如**](http://stackoverflow.com/help/mcve) –

+0

先生請試試這個'UPDATE car_ads SET deal_of_the_week_p = IF(deal_of_the_week_p =「 1「,」0「,」1「) WHERE ad_id = 999' –

回答

1

假設你使用的是符合標準的數據庫管理系統,你可以使用

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

+0

你是最好的:)這正是我需要和正在工作: – user1925741