博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL can’t specify target table for update in FROM clause
阅读量:5842 次
发布时间:2019-06-18

本文共 815 字,大约阅读时间需要 2 分钟。

 翻译:不能指定更新的目标表在FROM子句

源SQL语句:

 

[sql]   
 
 
  1. delete from t_official_sys_user  
  2. where USER_NAME IN(SELECT USER_NAME FROM t_official_sys_user b group by b.`USER_NAME` having  count(1) > 1)  

 

执行报以下错误:

 

[sql]   
 
 
  1. [SQL]   
  2.   
  3. delete from t_official_sys_user  
  4. where USER_NAME IN(SELECT USER_NAME FROM t_official_sys_user b group by b.`USER_NAME` having  count(1) > 1)  
  5.   
  6. [Err] 1093 - You can't specify target table 't_official_sys_user' for update in FROM clause  

 

解决代码如下:

 

[sql]   
 
 
  1. delete from t_official_sys_user  
  2. where USER_NAME IN(
  3. select USER_NAME from
  4.  ( 
  5. SELECT USER_NAME FROM t_official_sys_user b group by b.`USER_NAME` having  count(1) > 1
  6. as temtable 
  7. );  

分析:

先把要删除的目标放到一张临时表再把要删除的条件指定到这张临时表即可。

http://blog.csdn.net/bluestarf/article/details/46622455

 http://www.cnblogs.com/nick-huang/p/4412818.html

转载于:https://www.cnblogs.com/softidea/p/5953722.html

你可能感兴趣的文章
yum的三种方式
查看>>
fstab各项参数及ls-l 长格式各项信息
查看>>
想了好久 请多多指教
查看>>
win7 绑定arp
查看>>
云时代架构读后感4--IT架构的本质
查看>>
selenium界面元素定位
查看>>
关于tcmalloc\malloc和new
查看>>
win2008R2管理员密码修改文档
查看>>
Jenkins-Gitlab配置方法
查看>>
Linux上用户之间对话
查看>>
白盒测试用例设计方法
查看>>
sql查询从m到n的这几条记录
查看>>
【TensorFlow篇】--Tensorflow框架实现SoftMax模型识别手写数字集
查看>>
jquery方法.serializeArray()获取name和value并转为json数组
查看>>
OK335xS GPMC nand device register hacking
查看>>
html5-盒子模型
查看>>
iOS - OC Copy 拷贝
查看>>
FlashCache初体验
查看>>
jstl 处理Date 时间
查看>>
SQL根据细粒度为天的查询
查看>>