2013-05-22 106 views
6

我有兩個數據庫,我想用另一個數據庫表中的值更新一個表。 我正在使用以下查詢,但它不起作用。從另一個數據庫更新mysql表select select查詢

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

我也曾嘗試下面的查詢,但它不工作之一:

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

回答

12

更新1

基於your commentmarkup應該是連接的一部分。下面是正確的:

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 

,你甚至可以添加一個ALIAS簡化的說法,

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

我想這查詢,查詢不影響行運行。 – mmdel

+0

「UPDATE oman.ProductMaster_T.Markup INNER JOIN main.ProductMaster_T ON main.ProductMaster_T.ProductID = oman.ProductMaster_T.ProductID SET oman.ProductMaster_T.Markup = main.ProductMaster_T.Markup」 PL。告知我我錯在哪裏 – mmdel

+0

'oman.ProductMaster_T.Markup' - 什麼是'標記'?表名或列名? –