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

MySQL atualiza uma tabela unida


A sintaxe UPDATE multi-tabela no MySQL é diferente do Microsoft SQL Server. Você não precisa dizer quais tabelas você está atualizando, isso está implícito em sua cláusula SET.
UPDATE tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;

Não há cláusula FROM na sintaxe do MySQL.

UPDATE com JOIN não é SQL padrão, e tanto o MySQL quanto o Microsoft SQL Server implementaram suas próprias ideias como uma extensão da sintaxe padrão.