关闭

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

996人阅读 评论(0) 收藏 举报

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)

 

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:679345次
    • 积分:4092
    • 等级:
    • 排名:第7591名
    • 原创:40篇
    • 转载:42篇
    • 译文:1篇
    • 评论:93条
    文章分类
    最新评论