是否可以在MySQL中使用IF(cond1和cond2,result,else result)?

是否可以在MySQL中使用IF(cond1和cond2,result,else result)?,mysql,if-statement,Mysql,If Statement,如果连续5列的值为0,我想进行更新查询。我的第一个想法是: UPDATE `table_name` SET `count` = IF(`col1`=0.00 AND `col2`=0.00 AND `col3`=0.00 AND `col4`=0.00 AND `col5`=0.00, count+1, count) 但我认为,使用和如果条件是不工

如果连续5列的值为0,我想进行更新查询。我的第一个想法是:

UPDATE `table_name` 
SET `count` = IF(`col1`=0.00 AND 
                 `col2`=0.00 AND 
                 `col3`=0.00 AND 
                 `col4`=0.00 AND 
                 `col5`=0.00,  count+1, count)
但我认为,使用和如果条件是不工作的。有什么想法吗?在IF中使用AND是完全有效的,但是正如Grijesh-suggets所说,在WHERE子句中使用条件是最常用的方法

但是,您的查询不应该给出任何错误。

在IF中使用AND是完全有效的,但正如Grijesh suggets所说,在WHERE子句中使用条件是通常的方法


不过,您的查询不应该出现任何错误。

我想您需要这个,如果我没有错,我觉得它很简单:

UPDATE `table_name` 
SET    `count`= `count` + 1
WHERE  `col1`=0.00 AND `col2`=0.00 AND 
       `col3`=0.00 AND `col4`=0.00 AND 
       `col5`=0.00;
编辑

而@Bart Friederichs的答案是正确的和/或在if中是有效的

IF的工作原理如下:


注意:您可以do=并且可以在IF函数中使用和/或

我想你需要这个,如果我没有错的话,我觉得很简单:

UPDATE `table_name` 
SET    `count`= `count` + 1
WHERE  `col1`=0.00 AND `col2`=0.00 AND 
       `col3`=0.00 AND `col4`=0.00 AND 
       `col5`=0.00;
编辑

而@Bart Friederichs的答案是正确的和/或在if中是有效的

IF的工作原理如下:



注意:您可以do=并且可以在IF函数中使用和/或

为什么不尝试一下呢?将if与multiple和一起使用是有效的..已经尝试过了,但失败了。就像我说的使用和in-IF条件不起作用你到底尝试了什么,错误是什么?为我工作检查这把小提琴你为什么不尝试一下?使用IF和multiple AND是有效的..已经尝试过了,但失败了。就像我说的,使用和如果条件不起作用,你到底尝试了什么,错误是什么?为我检查这把小提琴,这将是正常的做法是的,但OP的解决方案也应该起作用只是测试了它,MySQL没有抱怨。这将是正常的做法是的,但是OP的解决方案应该也能很好地工作,只是测试了一下,MySQL并没有抱怨。这个问题不是很清楚。如果有效,它可以被读取为正在使用和在中?。在这种情况下,这是一个答案;-。是的,您是正确的,但OP的查询不正确,因为count=if。在你纠正他的问题之前,我将对你的答案投赞成票@巴特弗里德里克斯我不确定是因为什么?他能做=作业吗?@BartFriederichs我做了一个实验,我知道你是对的,谢谢:也许吧。这个问题不是很清楚。如果有效,它可以被读取为正在使用和在中?。在这种情况下,这是一个答案;-。是的,您是正确的,但OP的查询不正确,因为count=if。在你纠正他的问题之前,我将对你的答案投赞成票@巴特弗里德里克斯我不确定是因为什么?他能做=作业吗?@BartFriederichs我做了一个实验,我知道你是对的,谢谢:
mysql> SET  @a=IF(0 AND 1,5,3);
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @a;
+------+
| @a   |
+------+
|    3 |
+------+
1 row in set (0.00 sec)