MySql报错: You can't specify target table 'table name' for update in FROM clause解决办法

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)

 

建一个临时表就可以了。 可能这种方法不是最好的,但也能解决问题,如有更好的解决方案,欢迎讨论。。

阅读更多
文章标签: table mysql delete
上一篇myeclipse jsp post方式提交中文乱码解决办法
下一篇struts2的Action中调用DAO方法时报空指针异常 解决办法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭