MyBatis 提示You can't specify target table for update in FROM clause
熊孩纸
阅读:659
2021-03-31 16:51:01
评论:0
错误信息:
You can’t specify target table for update in FROM clause 错误的意思是:不能在同一个sql语句中,先select同一个表的某些值,然后再update这个表。
错误SQL语句:
update arch_info set arch_info.reg_no_by ='admin', arch_info.reg_no_date =now() where
arch_info.sid in (select a.sid from arch_info a )
解决办法:select的结果再通过一个中间表select多一次,就可以避免这个错误
正确SQL 语句:
update uarch_info set arch_info.reg_no_by ='admin',arch_info.reg_no_date =now() where arch_info.sid in(
select sid from(
select a.sid from ucas_arch_info a ) as d )
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。