mysql update使用select的结果的方法

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

  update 1 set 1.xx= (select yy from 2) ;

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

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

  update 1 inner join (select yy from 2) 3 set 1.xx = 2.yy

示例:

student表:

id    class_id

1  张三  班级1

2  李四  班级2

class表:

id 

1  班级1

2  班级2

3  班级3

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

  update student inner join (select id, from class) c set student.class_id = c.id where student.class_id = c.
未经允许不得转载:国外主机测评 » mysql update使用select的结果的方法