2

我有这张桌子:

+----------------+--------------+
| Field          | Type         |
+----------------+--------------+
| id             | int(10)      |
| confirm        | int(5)       |
| confirm_hold   | int(5)       |
| tmp            | int(6)       |
+----------------+--------------+

并且有一些问题。

如何更新某些行。例如:

UPDATE `table` IF(`tmp` > 0, SET `confirm_hold`=123, SET `confirm`=123);

谢谢大家

4

2 回答 2

3

试试这个

UPDATE `table` SET `confirm_hold` = IF(`tmp` > 0, 123, `confirm_hold`),  `confirm` = IF(`tmp` <= 0, 123, `confirm`)
于 2013-09-19T09:33:04.500 回答
2

使用函数IF()代替:

UPDATE `table` SET `confirm_hold` = IF(`tmp` > 0, 123, `confirm_hold`), 
                   `confirm` = IF(`tmp` <= 0, 123, `confirm`)
于 2013-09-19T09:34:49.917 回答