2013-05-22 2 views
6

데이터베이스가 두 개 있고 다른 데이터베이스 테이블의 값으로 한 테이블을 업데이트하고 싶습니다. 다음 쿼리를 사용하고 있지만 작동하지 않습니다. 다른 데이터베이스에서 선택한 쿼리로 mysql 테이블을 업데이트하십시오.

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

UPDATE 1

your comment에 따라, markup 조인의 일부가되어야합니다. 여기에 올바른 하나 :

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

PL "UPDATE oman.ProductMaster_T.Markup INNER는 main.ProductMaster_T.ProductID = oman.ProductMaster_T.ProductID SET oman.ProductMaster_T.Markup = main.ProductMaster_T.Markup ON main.ProductMaster_T 가입하세요". 내가 잘못 가고있는 곳을 알려주십시오. – mmdel

+0

'oman.ProductMaster_T.Markup' -'마크 업 '이란 무엇입니까? 테이블 이름 또는 열 이름? –

관련 문제