mysql error code 1093 报错
案例中的两个表格


error code 1093 报错
如果是子查询操作的表和更新操作是同一张表就会出现这个问题
案例:把“客服部”的“张一鸣”的工资金额修改为4000 元(用2个表关联)
错误演示:
update staff set salary=4000where staffname in (select e.staffname from staff e join (select * from depart where departname='客服部') a
on e.departid=a.departid
where e.staffname = '张一鸣') ;
执行上面的sql语句后数据库报错提示:
Error Code: 1093. You can't specify target table 'staff' for update in FROM clause 0.000 sec ```
解决方式:给子查询再套一层
update staff set salary=4000wherestaffname in(select s.staffname from(select e.staffname from staff e join (select * from depart where departname='客服部') a
on e.departid=a.departid where e.staffname = '张一鸣')s);
欧克
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
