码迷,mamicode.com
首页 > 数据库 > 详细

(原)mysql错误1093 You can't specify target table 'wms_cabinet_form' for update in FROM clause

时间:2014-10-27 21:06:57      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:style   io   color   os   ar   for   sp   数据   on   

这个错误的意思是不能先select出同一表中的某些值,再update这个表(在同一语句中),解决方法不直接查询同一个,假设要更新的表为A,则先将A的的数据放到表B,再从表B中查询则得到更新和查询表A的效果

例:

成绩表:                       

bubuko.com,布布扣

把“SC”表中“姚明”老师教的课的成绩都更改为此课程的平均成绩

update sc set score=(select avg(a.score) FROM (select score,C from sc) a where a.C in (select C from course left join teacher on course.T=teacher.T where Tname=‘姚明‘) group by a.C) where C in (select C from course left join teacher on course.T=teacher.T where Tname=‘姚明‘)

 

其中红色字体就将sc的数据放到一个临时表a中,再查询表a

(原)mysql错误1093 You can't specify target table 'wms_cabinet_form' for update in FROM clause

标签:style   io   color   os   ar   for   sp   数据   on   

原文地址:http://www.cnblogs.com/liangjiahao/p/4054921.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!