当前位置: 首页 > 面试题库 >

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

陈和裕
2023-03-14
问题内容

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

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


 类似资料:
  • 问题内容: 是否可以在带有子选择的mysql 5.0上运行UPDATE命令。 我要运行的命令是这样的: ISBN13当前存储为字符串。 这应该更新10k +行。 谢谢, 威廉 问题答案: 只需更改一下即可:

  • 问题内容: 我想用另一个表中的数据更新mySql中的表。 我有两个表“ people”和“ business”。人员表通过称为“ business_id”的列链接到业务表。 必要的表结构,主键带有星号(表:列):人员: business_id, sort_order,email商业:* business_id,email 我想用人员表中的电子邮件更新业务表电子邮件列,如下所示(我知道我在这里遗漏了

  • 我把头撞在墙上好几个小时了。毫无疑问,这是一个简单的答案,但我不是瞎了就是傻了,弄不明白。 我试图更新表中的一列,从另一列引入数据,并根据用户名进行匹配。这是我的问题 我能从比我更擅长的人那里得到一些帮助吗!!

  • 问题内容: 如何在相同的条件下运行 and 语句,而不必执行两个查询:一个选择对象一个更新对象 SQL中的等效内容如下所示: 问题答案: 使用queryset 对象方法:

  • 问题内容: 我有三个表的简单文章应用程序: 在登录页面上,我想显示最新文章标题以及作者姓名和文章评论总数。主要问题是如何获取文章的评论总数,我没有弄对。我应该得到以下输出: 在我的实际应用程序中,我在文章表中添加了一个列,以显示对该文章的评论总数。当新注释添加到系统时,此列将更新。这样做的问题是,在添加新评论时,文章表被锁定了。在我的应用程序中,每分钟都会添加很多评论。因此,我试图避免通过重写SQ

  • 问题内容: 我发现了具有正确答案的类似问题。但是它们对我来说有点复杂。我只想要一个简单的基本声明。 我有: …和: 如何合并它们? 问题答案: 有关OUTPUT子句的更多信息,请查看此文章。