Estou tentando entender como atualizar várias linhas com valores diferentes e simplesmente não entendi. A solução está em toda parte, mas para mim parece difícil de entender.
Por exemplo, duas atualizações em uma consulta:
UPDATE mytable SET fruit='orange', drink='water', food='pizza' WHERE id=1;
UPDATE mytable SET fruit='strawberry', drink='wine', food='fish' WHERE id=2;
Não entendo o que o CASE WHEN .. THEN ... END funciona e como usá-lo.
Gostaria de saber se alguém poderia me ajudar nisso.
INSERT ... ON DUPLICATE KEY UPDATE
Você precisará escrever condições muito complicadas se desejar atualizar mais de duas linhas. Nesse caso, você pode usar a
INSERT ... ON DUPLICATE KEY UPDATE
abordagem.fonte