You can't specify target table 'tablename' for update in FROM clause的解决方法

简介:

在执行下面的sql时报错

 
  1. DELETE FROM temp WHERE id IN (SELECT a.id FROM t_user t JOIN temp a ON t.email = a.email); 

这种写法在sqlserver或者oracle中是支持的,但是mysql目前是不支持的,在mysql中不能同时查询一个表的数据再同时进行删除,只能用以下的办法折中

 
  1. CREATE TABLE tmp AS SELECT a.id FROM t_user t JOIN temp a ON t.email = a.email;  
  2. DELETE FROM temp WHERE id IN (SELECT id FROM tmp); 

先将查询到的数据放到一个临时表中,然后再对临时表进行查询,然后再删除目标表中满足条件的数据。


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/629493,如需转载请自行联系原作者

相关文章
|
编解码 vr&ar 图形学
|
存储 Linux 数据中心
网络工程师如何很快划分出子网?
【10月更文挑战第7天】
611 0
网络工程师如何很快划分出子网?
|
Docker 容器
ADD failed: file not found in build context or excluded by .dockerignore: stat irap_rule_center: fil
ADD failed: file not found in build context or excluded by .dockerignore: stat irap_rule_center: fil
|
12月前
|
人工智能 安全 新能源
5000字实战透视:哪些内训机构值得选?
作为一名资深的HR老兵,我见证了企业内训从传统课堂、外部讲师巡回演讲,到如今“内外结合、线上线下融合”,再到新技术驱动、场景深度融合的整体进化过程。也许你和我一样,在某个深夜盯着年度培训预算时,脑海里还在转着一个问题:“市场上的企业内训机构到底有哪些?他们各自的优势和短板是什么?究竟该选择谁来承接公司的培训项目?今天这篇文章,我希望能给大家一些启发——让大家在选择企业内训机构时,能够多一分全局洞察和底气。
5000字实战透视:哪些内训机构值得选?
|
12月前
|
SQL 数据库 数据安全/隐私保护
gbase8a v953版本兼容模式改造多vc模式
gbase8a v953版本兼容模式改造多vc模式
|
前端开发 Python
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
我们从`reportlab.pdfgen`模块中导入了`canvas`。这个模块提供了创建PDF文件所需的基本功能。
|
Web App开发 缓存 监控
|
开发框架 JavaScript 前端开发
比较两个突出的node.js框架:koa和express
接上文讲述了 koa框架,这边文章比较一下这两个突出的node.js框架:koa和express
|
JavaScript Linux C#
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
【傻瓜级JS-DLL-WINCC-PLC交互】1.C#用windows窗体控件创建.net控件
378 0
|
Oracle 关系型数据库 数据库
navicat提示oracle library is not loaded
navicat提示oracle library is not loaded
3980 0
navicat提示oracle library is not loaded