学无先后,达者为师

网站首页 mysql 正文

Mysql多表关联更新方式_Mysql

作者:程序螺丝钉   更新时间: 2023-01-10 mysql

Mysql多表关联更新

日常的开发中一般都是写的单表update语句,很少写多表关联的update。

在MySQL中我们有几种方法可以做到多表关联更新:

在两张表之间做关联,可以更新关联的多张表

update  biao1,表2
set 表1.列名=表2.列名  --外键或关联字段
where
更新条件;--例如:表1.列名=表2.列名,或字段aa>1等等

通过 INNER JOIN,可以更新关联的多张表

update 表1
inner join 表2   on  表1.列名=表2.列名  --外表链接 ID
set  表1.列名=值;--更新的内容

通过 LEFT JOIN ,可以更新关联的多张表

update  表1
left join 表2  on  表1.列名=表2.列名  --外表链接ID
set  表1.列名=新值;

通过子查询,只更新一张表

update 表1
set 表1.列名=(select  字段  from  表2  where  表2.列名=表1.列名 );

Mysql多表关联update

日常的开发中一般都是写的单表update语句,很少写多表关联的update。

在MySQL中,update的多表连接更新和select的多表连接查询在使用的方法上存在一些小差异。

来看一个具体的例子。

update table1 t1
    inner join table2 t2
        on t1.id = t2.id
set t1.name=t2.name;

在上面的例子中,update关键字后跟的是一个多表关联的结果集,MySQL直接将这个多表关联的结果集看做一个单表,再在这个单表的基础上做常规的update操作。

总结

原文链接:https://blog.csdn.net/qingxikeren/article/details/123115034

相关推荐

栏目分类
最近更新