sql >> Base de Datos >  >> RDS >> Mysql

MySQL actualiza una tabla unida

La sintaxis de ACTUALIZACIÓN de tablas múltiples en MySQL es diferente de Microsoft SQL Server. No necesita decir qué tabla(s) está actualizando, eso está implícito en su 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;

No hay una cláusula FROM en la sintaxis de MySQL.

UPDATE con JOIN no es SQL estándar, y tanto MySQL como Microsoft SQL Server han implementado sus propias ideas como una extensión de la sintaxis estándar.