国内外VPS
主机测评与优惠

mysql update使用select的结果的方法

在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

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《mysql update使用select的结果的方法》
文章链接:https://www.liuzhanwu.com/2833.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

登录

找回密码

注册