2012-01-15 13 views
6

Potrzebuję skopiować zawartość z kolumny w jednej bazie danych do zgodnej kolumny w innej, tak aby ta sama zawartość trafiła do rekordu o tym samym ID. Coś jak na poniższym pseudo rzeczy:Skopiuj jedną kolumnę z jednej bazy danych do innej

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

Masz baza danych i kolumna, ale gdzie jest * tabela * w twoim scenariuszu? –

+0

są one również identyczne, edytowane w celu odzwierciedlenia tego –

Odpowiedz

4

Można 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

Otrzymuję błąd 1064, błąd składni –

+0

spróbuj; Nie mam pod ręką bazy danych MySQL, więc składnia może być nadal wyłączona, ale powinno to doprowadzić cię do właściwej ścieżki. –

14

MySQL używa składni:

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

Dzięki. Składnia jest również zgodna w Access (obie tabele w tym samym DB). –

+1

Dziś w nocy kocham więcej MySQL niż kiedykolwiek. –

3

jeśli nie identyczne kolumny dla innych osób, można użyć poniżej:

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` 
Powiązane problemy