在其他情况下清空

时间:2012-05-30 21:41:25

标签: mysql

我正在使用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";

这种语法看起来是否合适?

由于

1 个答案:

答案 0 :(得分:3)

仅使用

else `value`

在这种情况下,value列的值将保持不变

相反,您可以在where

中再添加一个条件
where uid="abcdef" AND attribute_name IN ('hostname', 'backend', 'col')

在这种情况下,您只需省略else子句