delete from tablename where id=(select max(id) from tablename)
这样的错误,它的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值。
修改为
delete from tablename where id=(select * from (select max(id) from tablename) as alisname)
这样就规避了错误。
这个问题只出现于MySQL,MSSQL和Oracle不会出现此问题。