Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Várias cláusulas set e where na consulta Update no mysql


Você pode usar INSERT INTO .. ON DUPLICATE KEY UPDATE para atualizar várias linhas com valores diferentes.

Você precisa de um índice exclusivo (como uma chave primária) para fazer a parte "chave duplicada" funcionar

Exemplo:
INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
  ON DUPLICATE KEY UPDATE b = VALUES(b), c = VALUES(c);

-- VALUES(x) points back to the value you gave for field x
-- so for b it is 2 and 5, for c it is 3 and 6 for rows 1 and 4 respectively (if you assume that a is your unique key field)

Se você tiver um caso específico, posso lhe dar a consulta exata.