Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL aggiorna una tabella unita

La sintassi UPDATE multi-tabella in MySQL è diversa da Microsoft SQL Server. Non è necessario dire quali tabelle stai aggiornando, è implicito nella tua clausola 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;

Non esiste una clausola FROM nella sintassi di MySQL.

UPDATE with JOIN non è SQL standard e sia MySQL che Microsoft SQL Server hanno implementato le proprie idee come estensione della sintassi standard.