我有两个数据库,我想用另一个数据库表中的值更新一个表。 我使用以下查询,但它不起作用。
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
答案 0 :(得分:13)
更新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