首页 > 数据库 > mysql教程 > 如何在MySQL多连接语句中更新表?

如何在MySQL多连接语句中更新表?

Barbara Streisand
发布: 2024-11-24 11:12:11
原创
874 人浏览过

How to Update a Table in a MySQL Multi-Join Statement?

在多连接语句中更新 MySQL 表

在 MySQL 中处理多个连接时,了解更新连接的不同语法表至关重要。与 SQL Server 不同,MySQL 采用了独特的方法。

问题:

当需要对涉及一系列联接的表执行更新操作时,可能会遇到困难。表不是连接顺序中的第一个表。

示例查询:

让我们考虑一个假设的查询:

UPDATE b
FROM tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;
登录后复制

解决方案:

在 MySQL 中,带有 JOIN 的 UPDATE 语法的工作方式不同。语句中没有显式指定要更新的表;相反,它是从 SET 子句推断出来的。因此,正确的查询应该是:

UPDATE tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;
登录后复制

要点:

  1. MySQL 的 UPDATE with JOIN 语法不需要 FROM 子句。
  2. 要更新的表在SET子句中指定。
  3. 这个非标准语法是 MySQL 特定的扩展。

以上是如何在MySQL多连接语句中更新表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板