是否可以在MySQL中使用IF(cond1和cond2,result,else result)?
如果连续5列的值为0,我想进行更新查询。我的第一个想法是:是否可以在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) 但我认为,使用和如果条件是不工
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)