2012-01-15 24 views
6

Necesito copiar el contenido de una columna en una base de datos en la columna correspondiente en otra, para que el mismo contenido entre en el registro con la misma ID. Algo así como lo siguiente seudo cosas:Copie una columna de una base de datos a otra

SET database2.table1.columnA TO database1.table1.columnA WHERE database2.id = database1.id 
+0

Tienes una base de datos y una columna, pero ¿dónde está la * tabla * en su escenario? –

+0

son idénticos también, han editado para reflejar esto –

Respuesta

4

Puede use JOIN in an UPDATE statement:

UPDATE table1 t1 
JOIN database1.table1 as t2 ON 
    t1.id = t2.id 
SET 
    t1.columnA = t2.columnA 
+0

obtengo el error 1064, error de sintaxis –

+0

intento eso; No tengo mySQL a mano, así que la sintaxis aún puede estar desactivada, pero eso debería llevarlo por el camino correcto. –

14

MySQL usa sintaxis:

update database1.table1, database2.table1 
set database1.table1.columnA = database2.table1.columnA 
where database1.table1.id = database2.table1.id; 
+0

Gracias. La sintaxis también es compatible en Access (ambas tablas en la misma base de datos). –

+1

Esta noche me encanta más MySQL que nunca. –

3

si no columnas idénticas para otras personas con las que se puede utilizar el siguiente:

USE `old_database`; 
INSERT INTO `new_database`.`new_table`(`column1`,`column2`,`column3`) 
SELECT `old_table`.`column2`, `old_table`.`column7`, `old_table`.`column5` 
FROM `old_table` 
Cuestiones relacionadas