2014-11-21 22 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

相关问题