You can't specify target table 'table_A' for update in FROM clause
发布日期:2021-11-18 19:17:42
浏览次数:14
分类:技术文章
本文共 379 字,大约阅读时间需要 1 分钟。
Mysql在del和update时含子查询会报此错
-->因为在MYSQL里,不能先select一个表的记录,再按此条件进行更新和删除同一个表的记录
解决办法是,将select得到的结果,再通过中间表select一遍,这样就规避了错误,
这个问题只出现于mysql,mssql和不会出现此问题
详情看sql:
原报错sql:
UPDATE table_A SET status=1 WHERE A_id IN( SELECT order_id FROM table_A_B WHERE B_id=23)
修改后的sql:
UPDATE table_A SET status=1WHERE A_id IN(SELECT a.id FROM ( SELECT id FROM table_A_B WHERE B_id=23) a)
相当于对内子循环起了一个别名
转载地址:https://blog.csdn.net/weixin_39207535/article/details/88547757 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月25日 06时57分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Nginx proxy_cache 使用示例
2019-04-27
Nginx源代码分析 - 日志处理
2019-04-27
使Apache实现gzip压缩
2019-04-27
Memcached在大型网站中应用
2019-04-27
Hadoop简要介绍
2019-04-27
squid中的X-Cache和X-Cache-Lookup的意义
2019-04-27
squid 优化指南
2019-04-27
centos vnc配置笔记
2019-04-27
让Squid 显示本地时间
2019-04-27
linux mysql 命令 大全
2019-04-27
清除Squid缓存的小工具
2019-04-27
Varnish Cache 3.0.0安装
2019-04-27
2011年6月编程语言关注度排行
2019-04-27
Varnish使用小结
2019-04-27
千万级并发HAproxy均衡负载系统介绍
2019-04-27
什么是A记录、MX记录、CNAME记录
2019-04-27
MongoDB简介
2019-04-27
Varnish purges 缓存清除
2019-04-27
Linux下redis安装部署
2019-04-27
水平切分与垂直切分
2019-04-27