1

我正在使用 case when 更新多个列。我不希望对未按时处理的案件采取任何行动。我读到这可以通过使用开始结束来完成,但这对我不起作用。

我的语法是:

update site_configuration set value = 
    case 
        when attribute_name="hostname" then "abcdef" 
        when attribute_name="backend" then "ab" 
        when attribute_name="col" then "col" 
        else 
            begin 
            end
    end case 
where uid="abcdef";

这个语法看起来对吗?

谢谢

4

1 回答 1

3

Use just

else `value`

In this case the value of the value column will be left the same

Instead you can add one more condition to your where

where uid="abcdef" AND attribute_name IN ('hostname', 'backend', 'col')

in this case you just omit else clause

于 2012-05-30T21:44:16.063 回答