2014-11-21 27 views
-1
UPDATE kasutajad \ 
IF (raadioslot0 = %i) SET (raadioslot0 = -1), \ 
IF (raadioslot1 = %i) SET (raadioslot1 = -1), \ 
IF (raadioslot2 = %i) SET (raadioslot2 = -1), \ 
IF (raadioslot3 = %i) SET (raadioslot3 = -1), \ 
IF (raadioslot4 = %i) SET (raadioslot4 = -1) \ 
WHERE id = %i 

它可以這樣使用嗎?如果沒有,我怎麼能用它來做到這一點?非常感謝!如果MySQL中的條件 - 我可以像這樣使用它嗎?

+1

閱讀['CASE'](http://dev.mysql.com/doc/refman/5.6/en/case.html)聲明的文檔,併發布後續問題,如果您有問題。 – tadman 2014-11-21 20:15:53

+0

你可以試試,然後告訴我們你有什麼問題,如果有的話。或者你得到什麼錯誤。 – 2014-11-21 20:16:05

回答

0

不,你不能像你展示的那樣使用IF。您只能將列設置爲表達式,並且表達式可能包含IFIF有一個「else」參數,它可能是同一列。如果發生這種情況,該列將被分配其自己的值,在這種情況下不會做出任何更改。

在UPDATE中只能有一個SET關鍵字。

UPDATE kasutajad SET 
raadioslot0 = IF(raadioslot0 = %i, -1, raadioslot0), 
raadioslot1 = IF(raadioslot1 = %i, -1, raadioslot1), 
raadioslot2 = IF(raadioslot2 = %i, -1, raadioslot2), 
raadioslot3 = IF(raadioslot3 = %i, -1, raadioslot3), 
raadioslot4 = IF(raadioslot4 = %i, -1, raadioslot4) 
WHERE id = %i 
+0

完美,謝謝!我對MySQL並不是很有經驗,因爲我所需要的都是基礎知識。 – user2716044 2014-11-22 11:57:43

相關問題