php - 使用来自另一个数据库的选择查询更新 mysql 表

标签 php mysql sql

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

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

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

相关文章:

php - dompdf 在文档末尾插入空白页

php - Zend框架教程——连接数据库的问题

c++ - qt 5.8 sql连接错误:QMYSQL driver not loaded on windows 10

mysql - SQL计算查询示例中的时间/日期

mysql - SQL根据日期和另一列减去两行

php - 多次插入不适用于 INNODB

PHP- 正则表达式 - 如何从右到左阅读

mysql - 在Rails中动态可定制的基于组的授权

php - eloquent上如何统计每组item的数量

MySQL - 查找具有相同列但匹配某些 ID 的行