当前位置:首页 > Mysql教程 > 列表

MySql多表关联Update更新sql语句

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-08 16:59:51 浏览: 评论:0 

我们用到最多的update更新数据都是单表更新了,但有的时候我们不得不使用关联多表进行数据更新了,下面我给各位介绍利用upate实现多表关联更新.

对单表执行更新没有什么好说的,无非就是update table_name set col1 = xx,col2 = yy where col = zz,主要就是where条件的设置,有时候更新某个表可能会涉及到多张数据表,代码如下:

update table_1 set score = score + 5 where uid in (select uid from table_2 where sid = 10);

其实update也可以用到left join、inner join来进行关联,可能执行效率更高,把上面的sql替换成join的方式如下:

update table_1 t1 inner join table_2 t2 on t1.uid = t2.uid set score = score + 5 where t2.sid = 10;

mysql关联多表进行update更新操作,代码如下:

  1. UPDATE Track 
  2. INNER JOIN MV 
  3. ON Track.trkid=MV.mvid 
  4. SET Track.is_show=MV.is_show 
  5. WHERE trkid<6 
  6. --phpfensi.com 
  7. --等同于 
  8.  
  9. UPDATE Track,MV 
  10. SET Track.is_show=MV.is_show 
  11. WHERE Track.trkid=MV.mvid and trkid<6

Tags: MySql多表关联 Update更新sql

分享到: