使用join语句更新mysql?

Bar*_*art 7 mysql

这可能在mysql中吗?

update table1 
set column1 = (select column1 from table2  
               inner join table3 
               where table2.column5 = table3.column6);
Run Code Online (Sandbox Code Playgroud)

以下是Oracle DB的类似问题.

Lar*_*tig 13

你能行的.然而,在你给的例子,没有JOIN表1和更新(表2 INNER JOIN表3)值的源之间的连接,所以结果会有些不可预测.

您的查询将是(我不是MySQL专家):

UPDATE table1, table2, table3 SET table1.column1 = table2.column1
    WHERE table2.column5 = table3.column6
Run Code Online (Sandbox Code Playgroud)

但我认为你可能想要的(我只是猜测)更像是:

UPDATE table1, table2, table3 SET table1.column1 = table2.column1
    WHERE table1.somecolumn = table3.somecolumn AND table2.column5 = table3.column6
Run Code Online (Sandbox Code Playgroud)