程序员人生 网站导航

MySQL修改并选取同一个表的方法

栏目:MySql时间:2014-06-01 05:04:07
在MySQL里,不可以修改同一个表并使用SELECT语句。可以选用JOIN来实现,例证如下

用SELECT的原语句:

update spms.user
set DirectReport=(select DirectReport from spms.user where UserName='%s')
where UserName in (select UserName from spms.user where DirectReport='%s')

选用JOIN来实现的语句:

update spms.user as u1
inner join spms.user as u2 on u1.DirectReport= u2.UserName
set u1.DirectReport=u2.DirectReport where u2.UserName='%s'

Reference: SQL Update Syntax http://dev.mysql.com/doc/mysql/en/UPDATE.html
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐