2012-01-15 12 views
6

Ho bisogno di copiare il contenuto da una colonna in un database nella colonna corrispondente in un altro, in modo che lo stesso contenuto vada nel record con lo stesso ID. Qualcosa di simile a quanto segue roba pseudo:Copia una colonna da un database ad un altro

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

Hai un database e una colonna, ma dov'è la * tabella * nello scenario? –

+0

sono identici anche, hanno modificato per riflettere questo –

risposta

4

È possibile 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

Ottengo errore 1064, errore di sintassi –

+0

provarlo; Non ho mySQL a portata di mano, quindi la sintassi potrebbe essere ancora disattivata, ma questo dovrebbe portarti sulla giusta strada. –

14

MySQL utilizza la sintassi:

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

Grazie. Sintassi compatibile anche in Access (entrambe le tabelle nello stesso DB). –

+1

Stasera amo più MySQL che mai. –

3

se non colonne identiche per le altre persone è possibile utilizzare il qui sotto:

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` 
Problemi correlati