Ver Mensaje Individual
  #9 (permalink)  
Antiguo 11/07/2014, 02:13
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Update en varias tablas

Teneis toda la razón.

Manual

Cita:
Puede realizar operaciones UPDATE que cubran varias tablas. La parte table_references lista las tablas involucradas en el join. Su sintaxis se describe ámpliamente en Sección 13.2.7.1, “Sintaxis de JOIN”. Aquí hay un ejemplo:

UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;

Este ejemplo muestra un inner join usando el operador coma, pero los comandos UPDATE de múltiples tablas pueden usar cualquier tipo de join permitido en comandos SELECT tales como LEFT JOIN.
Código MySQL:
Ver original
  1. UPDATE tabla1
  2.                 INNER JOIN tabla2 ON tabla1.ID = tabla2.ID
  3.                 INNER JOIN tabla3 ON tabla1.ID = tabla3.ID
  4. SET ....
  5. WHERE ....

Ojo con INNER JOIN si una tabla no contiene uno de los casos no se actualizara ninguna

Código MySQL:
Ver original
  1. UPDATE tabla1
  2.                 LEFT JOIN tabla2 ON tabla1.ID = tabla2.ID
  3.                 LEFT JOIN tabla3 ON tabla1.ID = tabla3.ID
  4. SET ....
  5. WHERE ....

Si tabla 1 es la que tiene todos los registros.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.