У меня две базы данных, и я хочу обновить одну таблицу со значениями из другой таблицы базы данных. Я использую следующий запрос, но он не работает.
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
ОБНОВЛЕНИЕ 1
на основе вашего комментария , 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