在多连接语句中更新 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;
要点:
以上是如何在MySQL多连接语句中更新表?的详细内容。更多信息请关注PHP中文网其他相关文章!