MYSQL,我想要的就是
update tablename
case fieldA
when value1 then set fieldX0=xxx,fieldX1=bbb,fieldX2=ccc ...
when value2 then set fieldY0=yyy,fieldY1=eee,fieldY2=fff ...
end
它的正确和简单语法是什么?非常感谢你。
答案 0 :(得分:6)
应该这样写:
UPDATE tablename
SET fieldX = CASE WHEN fieldA = 'value1' THEN 'xxx' ELSE fieldX END,
fieldY = CASE WHEN fieldA = 'value2' THEN 'yyy' ELSE fieldY END
WHERE fieldA IN ('value1', 'value2');
请注意:我以这种方式编写了ELSE
部分,因为如果{{1}的条件,ELSE
的默认值为NULL
} expression无效,因此这会将其设置为原始值而不是CASE
值。