mysql update使用select的结果的方法

11-26 15:46   转载 2798 责编:蚂蚁力量

在sql server中,我们可以使用下面的update语句对表进行更新操作。


update t1 set t1.xx= (select yy from t2) ;

但是mysql不支持update set 直接使用select的结果,那么怎么在mysql update中使用select的结果呢?

我们可以换一种解决方法,也就是使用inner join,上面的sql语句在mysql中可以改写成下面方式:


update t1 inner join (select yy from t2) t3 set t1.xx = t2.yy

示例:

student表:

id  name  class_id

1  张三  班级1

2  李四  班级2

class表:

id  name

1  班级1

2  班级2

3  班级3

通过update inner join更新student表中的class_id字段,由班级名称更新为班级id,具体mysql语句为:


update student inner join (select id,name from class) c set student.class_id = c.id where student.class_id = c.name
分享给小伙伴们:

最新文章

最热文章

零五科技,分享IT知识,国内顶级IT知识门户网站。

©2015 零五科技 版权所有