Zug*_*alt 39 mysql join sql-update
我想在具有多个连接的语句中更新表.虽然我知道连接的顺序并不重要(除非你使用的是优化器提示),我命令它们以某种方式最直观地阅读.但是,这导致我想要更新的表不是我开始使用的表,并且我在更新它时遇到问题.
我想做的一个虚拟例子是:
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;
Run Code Online (Sandbox Code Playgroud)
有许多关于使用联接进行更新的帖子,但是他们总是首先更新表.我知道这在SQL Server中是可能的,并且希望它在MySQL Too中可能!
Bil*_*win 94
MySQL中的多表UPDATE语法与Microsoft SQL Server不同.您不需要说明您正在更新哪些表,这些表隐含在您的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;
Run Code Online (Sandbox Code Playgroud)
MySQL的语法中没有FROM子句.
使用JOIN更新不是标准SQL,MySQL和Microsoft SQL Server都已经实现了自己的想法作为标准语法的扩展.
归档时间: |
|
查看次数: |
65464 次 |
最近记录: |