Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL met à jour une table jointe

La syntaxe UPDATE multi-tables dans MySQL est différente de Microsoft SQL Server. Vous n'avez pas besoin de dire quelle(s) table(s) vous mettez à jour, c'est implicite dans votre clause 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;

Il n'y a pas de clause FROM dans la syntaxe de MySQL.

UPDATE avec JOIN n'est pas du SQL standard, et MySQL et Microsoft SQL Server ont implémenté leurs propres idées en tant qu'extension de la syntaxe standard.