错误信息:
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 )