用mysql进行条件化的正确方法是用不同的条件更新不同的列

时间:2013-07-02 03:01:28

标签: mysql

column1 = value     WHERE cond='1'
column2 = value     WHERE cond='2'

在上面的例子中。 这是在mysql中编码的正确方法吗

UPDATE table SET (column1='value' WHERE cond='1') OR (column2='value' WHERE cond='2')

1 个答案:

答案 0 :(得分:1)

UPDATE
   table
SET
   column1 = (CASE cond WHEN '1' THEN 'value' ELSE column1 END)
 , column2 = (CASE cond WHEN '2' THEN 'value' ELSE column2 END)
WHERE
  cond IN ('1', '2')
;