錯誤信息:
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 )