1个语句中的2个SQL更新

Jim*_*ery 1 sql sql-update

我想尝试做以下事情:

UPDATE table SET fieldA='valueA' WHERE id='id1', SET fieldB='valueB' WHERE id='id2';
Run Code Online (Sandbox Code Playgroud)

但似乎无法让它发挥作用.有没有办法做到这一点,还是需要使用两个单独的SQL命令?

a_h*_*ame 10

如果您确实需要在一个语句中执行此操作,则可以使用:

UPDATE table 
    SET fieldA = case when id = 'id1' then 'valueA' else fieldA end, 
        fieldB = case when id = 'id2' then 'valueB' else fieldB end
WHERE id in ('id1', 'id2');
Run Code Online (Sandbox Code Playgroud)

但为了清晰(以及可维护性),使用两个语句会好得多.