1

ケースを使用して複数の列を更新しています。いつまでに処理されなかったケースに対しては何のアクションも取らないようにしたい。これは開始終了を使用して達成できると読みましたが、これは私には機能しません。

私の構文は次のとおりです。

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

ただ使う

else `value`

この場合、value列の値は同じままになります

代わりに、条件をもう1つ追加できますwhere

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

この場合、else句を省略します

于 2012-05-30T21:44:16.063 に答える