MySQL 联表更新
在进行 update
操作时,有时候需要联接多张表的条件来 set
一张或多张表的字段,鉴于网上已经有大量的博客介绍,这里只记录基本的用法。
1、where 写法
UPDATE user u,
address ad
SET u.name = ad.city, ad.address = ‘天河‘
WHERE
u.id = ad.user_id
AND u.id = 2
2、inner join 写法
UPDATE USER u
INNER JOIN address ad ON u.id = ad.user_id
SET u.NAME = ad.city, ad.address = ‘天河‘
WHERE
u.id = 2
上面两种写法是等价的,即 where 的效率同 inner join 的效率基本一样 , 根据个人习惯选择写法。