Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL aktualisiert eine verbundene Tabelle

Die UPDATE-Syntax für mehrere Tabellen in MySQL unterscheidet sich von Microsoft SQL Server. Sie müssen nicht angeben, welche Tabelle(n) Sie aktualisieren, das ist implizit in Ihrer SET-Klausel enthalten.

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;

Es gibt keine FROM-Klausel in der MySQL-Syntax.

UPDATE with JOIN ist kein Standard-SQL, und sowohl MySQL als auch Microsoft SQL Server haben ihre eigenen Ideen als Erweiterung der Standard-Syntax implementiert.