我有两个数据库,我想用另一个数据库表中的值更新一个表。
我正在使用以下查询,但它不起作用。
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
UPDATE 1
基于你的评论 https://stackoverflow.com/questions/16685170/update-mysql-table-with-select-query-from-another-database#comment24012051_16685181, 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)