创建博客 登录  
 关注
   显示下一条  |  关闭

橙子·程序的力量

境由心生 事在人为

 
 
 

日志

 
 

Mysql子查询的更新  

2009-05-22 16:13:03|  分类: PHP标记 |  标签: |字号 订阅

有两张表,一张是管理员信息表Admin_user,一张是临时表tmp_Admin_User。当临时表中的用户名和管理员信息表中的用户名相同时,要把临时表中ErrorType字段设置为1。

通常的写法是:

Update `tmp_Admin_User` Set `ErrorType`=1 Where `login_name` in (Select A.`login_name` from `tmp_Admin_User` as A Inner Join `Admin_User` as B On A.`login_name`=B.`login_name`)

但是MySql会报错:#1093 - You can't specify target table 'tmp_admin_user' for update in FROM clause

可以使用的写法应该是:

Update `tmp_Admin_User` as C,(select A.`login_name` from `tmp_admin_user` as A Inner Join `admin_user` as B On A.`login_name`=B.`login_name`) as D set `ErrorType`=1 Where C.`login_name` = D.`login_name`

  评论这张
转发至微博
转发至微博
0   分享到:        
阅读(371)| 评论(0)| 引用 (0) |举报

历史上的今天

相关文章

最近读者

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--相关文章--> <#--历史上的今天--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012