2013-05-22 28 views
6

İki veritabanım var ve bir tabloyu başka bir veritabanı tablosundaki değerlerle güncellemek istiyorum. Aşağıdaki sorguyu kullanıyorum ancak çalışmaz. Başka bir veritabanından seçme sorgusu ile mysql tablosunu güncelle

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

Ben de aşağıdaki sorguyu denedim ama işe ya değildir:

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

cevap

12

GÜNCELLEME 1

your comment dayalı markup katılmak parçası olmalıdır. İşte doğru biri:

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 

hatta ifadeyi basitleştirmek için bir ALIAS ekleyebilir,

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

ben bu sorguyu çalıştı, sorgu etkilenen satırları olmadan çalışır. – mmdel

+0

PL "GÜNCELLEME oman.ProductMaster_T.Markup İÇ main.ProductMaster_T.ProductID = oman.ProductMaster_T.ProductID SET oman.ProductMaster_T.Markup = main.ProductMaster_T.Markup AÇIK main.ProductMaster_T JOIN". BENİM OLARAK GİTMEYİ BAŞKAĞA GETİRİYOR – mmdel

+0

'oman.ProductMaster_T.Markup' -' Markup' nedir? tablo adı veya sütun adı? –

İlgili konular