8/27/2009

Actualizar dos tablas con MySQL

Este query me salvo muchas horas de trabajo

Estaba comparando los datos entre dos tablas con la misma estructura (una es temporal de la otra) y me percaté que existían inconsistencias entre varios registros, ir de registro en registro es una tarea algo... complicada y molesta, entonces:

¿Cómo puedo actualizar los registros de la tabla_a con los datos la tabla_b en MySQL?

Googleando encontré el siguiente query:
UPDATE tabla_a, tabla_b
SET tabla_a.campo1 = tabla_b.campo1, tabla_a.campo2 = tabla_b.campo2
WHERE tabla_a.identificador = tabla_b.identificador
Como ves, podemos traspasar los datos de una tabla a otra con un solo query.

Actualización
Otra forma de actualizar una tabla con el contenido de otra:
UPDATE tabla_a
JOIN tabla_b ON tabla_a.identificador = tabla_b.identificador
SET tabla_a.campo1 = tabla_b.campo1, tabla_a.campo2 = tabla_b.campo2
WHERE tabla_a.valor > 10

No hay comentarios.: