在执行下面的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);

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

转载于:https://blog.51cto.com/sucre/629493

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

  1. SQL报错:You can’t specify target table ‘person’ for update in FROM clause的解决方法

    You can't specify target table 'person' for update in FROM claus 不能在FROM子句中指定要更新的目标表'person' 报错原因:在M ...

  2. 错误:You can't specify target table 'xxx' for update in FROM clause的解决

    今天在MySQL数据库删除重复数据的时候遇到了一个问题.如下脚本: DELETE FROM tempA WHERE tid IN ( SELECT MAX(tid) AS tid FROM tempA ...

  3. MySQL 语法问题:You can‘t specify target table ‘xxx‘ for update in FROM clause. 原因及解决方法

    报错信息如下: [Code: 1093, SQL State: HY000] You can't specify target table 'bd_bankaccbas' for update in ...

  4. You can't specify target table 'TS_AUTH_ADMIN' for update in FROM clause记录

    1. 报错:You can't specify target table 'TS_AUTH_ADMIN' for update in FROM clause, 百度查到说是,不能在同一语句中先sele ...

  5. [Err] 1093 - You can't specify target table 'xxx' for update in FROM clause解决方法

    执行开发同学提供的删除数据的sql时报错[Err] 1093 - You can't specify target table 'run_result' for update in FROM clau ...

  6. [Err] 1093 - You can't specify target table 's' for update in FROM clause

    [Err] 1093 - You can't specify target table 's' for update in FROM clause 执行SQL DELETE from book WHE ...

  7. You can't specify target table 'ship_product_cat' for update in FROM clause

    有时候我们在编辑update时需要select作为条件,在mysql中有时会出现这样的错误:You can't specify target table for update in FROM clau ...

  8. MySQL||SQL_ERROR_INFO: “You can‘t specify target table ‘titles_test‘ for update in FROM clause“

    一.问题描述 假定test数据库存在表titles_test,表内数据如下: 先要求删除emp_no重复的记录,只保留最小的id对应的记录.编写代码如下: delete from titles_tes ...

  9. mysql-1093 - You can‘t specify target table ‘titles_test‘ for update in FROM clause

    错误 DELETE FROM titles_test WHERE id NOT IN(SELECT MIN(id)FROM titles_testGROUP BY emp_no); 入上述操作会报错: ...

最新文章

  1. 转:Eclipse自动补全功能轻松设置
  2. switch日版有中文吗_任天堂switch国行和日版的区别
  3. Fiddler抓包原理解析
  4. S3C6410 裸机硬件JPEG解码(转)
  5. 论文浅尝 | NumNet: 一种带有数学推理的机器阅读理解模型
  6. VS 错误: 未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService...
  7. Tensorflow异常集锦
  8. 利用Python进行数据分析--时间序列
  9. Modelica学习笔记1
  10. android 夏令时,android – jodatime如何知道夏令时是否开启
  11. 五大主流浏览器和内核
  12. cse7761电能计量芯片驱动程序
  13. 【人物专访】从12K到20+K,中间只差一个来学吧
  14. Java九十条经验法则之第三条:用私有构造器或者枚举类型强化Singlen对象
  15. 什么是回归问题和分类问题?机器学习知识点
  16. 枚举类型的理解和应用
  17. 图书馆管理信息系统的用例图和类图
  18. 14、Hibernate的HQL与QBC检索
  19. 整样运用计算机考试,计算机等级考试真题的重要性及如何高效利用?
  20. 48 一个扭了腰的bitcoiner的日常【2020-07-09 2042】

热门文章

  1. django配置templates、static、media和连接mysql数据库
  2. 洛谷 P4011 孤岛营救问题【最短路+分层图】
  3. vue拦截器实现统一token,并兼容IE9验证
  4. Linux 进程详解
  5. 自制反汇编逆向分析工具 迭代第六版本 (五)
  6. hdoj 2022 海选女主角
  7. cocos2d-x返回Android游戏黑屏解决办法
  8. dbgrideh的功能
  9. 数据库系统原理(第四章:SQL与关系数据库基本操作 )
  10. 使用EasyNetQ组件操作RabbitMQ消息队列服务