MySQL使用不同的where子句更新3列

时间:2013-08-30 16:37:45

标签: php mysql

我有6列的表 - ROW1a,ROW1b,ROW2a,ROW2b,ROW3a,ROW3b。

如何更新ROW1a WHERE ROW1b = 1 AND ROW2a WHERE ROW2b = 2 AND ROW3a WHERE ROW3b = 3

3 个答案:

答案 0 :(得分:1)

您需要3个UPDATE语句:

UPDATE `table` SET ROW1a = 'something' WHERE ROW1b = 1

UPDATE `table` SET ROW2a = 'something' WHERE ROW2b = 1

UPDATE `table` SET ROW3a = 'something' WHERE ROW3b = 1

答案 1 :(得分:0)

最佳3次更新。

或使用

UPDATE table
SET ROW1a = IF(ROW1b, ..., ROW1a),
    ROW2a = IF(ROW2b, ..., ROW2a),
    ROW3a = IF(ROW2b, ..., ROW3a)
WHERE ROW1b OR ROW2b OR ROW3b

答案 2 :(得分:0)

您需要针对每种情况进行更新。

UPDATE table_name
   SET ROW1a=value
 WHERE ROW1b=1;

UPDATE table_name
   SET ROW2a=value
 WHERE ROW2b=2;

(...)