2013-05-22 10 views
6

Mam dwie bazy danych i chcę zaktualizować jedną tabelę wartościami z innej tabeli bazy danych. Korzystam z następującego zapytania, ale nie działa.Zaktualizuj tabelę mysql z zapytaniem o wybór z innej bazy danych

UPDATE database1.table1 
SET field2 = database2.table1.field2 
WHERE database1.table1.field1 = database2.table1.field1 

Próbowałem również następujące zapytanie, ale to nie działa albo:

UPDATE database1.table1 
SET field2 = "SELECT field2 FROM database2.table1" 
WHERE database1.table1.field1 = database2.table1.field1 

Odpowiedz

12

UPDATE 1

podstawie your comment, markup powinny być częścią przyłączyć. Oto poprawna:

UPDATE oman.ProductMaster_T 
    INNER JOIN main.ProductMaster_T 
     ON main.ProductMaster_T.ProductID = oman.ProductMaster_T.ProductID 
SET oman.ProductMaster_T.Markup = main.ProductMaster_T.Markup 

można nawet dodać ALIAS uproszczenie oświadczenie,

UPDATE oman.ProductMaster_T o 
    INNER JOIN main.ProductMaster_T m 
     ON m.ProductID = o.ProductID 
SET o.Markup = m.Markup 
+0

Próbowałem tej kwerendy, kwerenda działa bez żadnych wierszy dokonanym. – mmdel

+0

"UPDATE oman.ProductMaster_T.Markup INNER JOIN main.ProductMaster_T NA main.ProductMaster_T.ProductID = oman.ProductMaster_T.ProductID SET oman.ProductMaster_T.Markup = main.ProductMaster_T.Markup" PL. DORADZCIE, GDZIE JESTEM NIEPRAWIDŁOWY – mmdel

+0

'oman.ProductMaster_T.Markup' - co to jest" znacznik "? nazwa tabeli lub nazwa kolumny? –

Powiązane problemy