mysql中不能这么用。 (等待mysql升级吧)
错误提示就是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)
"delete from category where pid in (select id from category where pid = " + id + ")";
替换方案如下:
delete from category where pid in (select id from (select * from category where pid = " + id + ") T)
建一个临时表就可以了。 可能这种方法不是最好的,但也能解决问题,如有更好的解决方案,欢迎讨论。。