我有两个数据库,我想用另一个数据库表中的值更新一个表。
我正在使用以下查询,但它不起作用。

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

基于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

关于php - 使用来自另一个数据库的选择查询更新mysql表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16685170/

10-09 00:44
查看更多