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 に答える