Вы можете использовать что-то вроде этого:
update table table set A = if(conditionA, newA, A), B = if(conditionB, newB, B)
Но я ожидаю, что это будет медленнее, чем 2 отдельных обновления, потому что он пытается сбросить значение каждой строки обратно на себя, когда оно не соответствует условию.
Вы можете оптимизировать его, добавив:
update table table set A = if(conditionA, newA, A), B = if(conditionB, newB, B)
where conditionA or conditionB
В некоторых случаях это может быть быстрее, чем 2 запроса.