Be alaways javaing...

Loving Java
posts - 43, comments - 5, trackbacks - 0, articles - 0
  语源科技BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

有如下的一个表 user(id,name,type) ,dept(id,userid,name)
delete from test where id in (select  u.id from user u inner join dept d on u.id=dept.userid where d.name='技术部');
当在MySql下执行这条查询时,数据库报错:You can't specify target table 'test' for update in FROM clause
查阅资料发现:MySQl下不支持这样的同时有select跟delete/update同一个表的操作。

修改如下:
delete from test where id in (select * from (select  u.id from user u inner join dept d on u.id=dept.userid where d.name='技术部') ta);
Success!!!

只有注册用户登录后才能发表评论。


网站导航: