MySQL与SqlServer中update操作同一个表问题

一 SqlServer中操作如下图

这个是没问题的。

二 MySQL中操作如下图

但是在MySQL中想实现这个功能如下图,但是出错了。

原来是MySQL中不支持子查询的

我们可以这样修改一下就可以实现它

看到没有,我仅仅在查询外面加了一层而已,却实现了。

代码如下:

create PROCEDURE testp(in _id int)
begin
  -- set @tt=(select id from usera where id>_id );
 update  usera set `names`='woaini' where id in(select t.id from (select s.id from usera s where s.id>_id )t);
end 
call testp(2)

DROP PROCEDURE testp

select  * from  usera

MySQL与SqlServer的区别,需要慢慢发现。

 

posted @ 2014-07-10 12:43  山水中华  阅读(713)  评论(0编辑  收藏  举报