今天写mysql的时候出现了You can’t specify target table for update in FROM clause问题,错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。
代码:

出现上述问题
DELETE FROM ps as p where p.id in
(SELECT id FROM ps GROUP BY id,user_id having (count(*)>1))

但是执行下述查询语句完全没有问题

select * FROM ps as p where p.id in
(SELECT id FROM ps GROUP BY id,user_id having (count(*)>1))

解决方法:
将select出的结果通过中间表select一遍,这样就规避了错误。
注意,这个问题只出现于mysql,mssql和Oracle不会出现此问题。

DELETE from ps where id in
(select a.id from
(SELECT id FROM ps GROUP BY id,user_id having (count(*)>1)) a)

【sql】You can‘t specify target table for update in FROM clause相关推荐

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

    今天使用mysql,写出一个sql语句: update service_re set is_deleted=0 where id=(select id from service_re where p_ ...

  2. MYSQL之You can't specify target table for update in FROM clause解决办法

    MYSQL之You can't specify target table for update in FROM clause解决办法 2016年12月21日 15:24:23 阅读数:19272 这篇 ...

  3. mysql 1093 you can_mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法...

    发现问题 最近在处理一些数据库中数据的时候,写了下面的这一条sql语句: UPDATE f_student SET school_id = 0 WHERE id > ( SELECT id FR ...

  4. mysql修改重复数据You can‘t specify target table ‘‘ for update in FROM clause

    You can't specify target table '' for update in FROM clause 得修改成下边的写法 update 景区与景区表 set 距离='',驾车时间=' ...

  5. MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法

    文章目录 前言 一.bug描述 二.需求描述 三.错误做法 四.正确写法 1. 正确 sql 2. sql 片段解释: 前言 总结SQL中的bug问题 一.bug描述 You can't specif ...

  6. Mysql:You can't specify target table for update in FROM clause的解决办法

    You can't specify target table '表名' for update in FROM clause 意思是 不能先select出同一表中的某些值,再update这个表 原SQL ...

  7. Mysql 错误 Code: 1093. You can't specify target table for update in FROM clause

    You can't specify target table 'recharge_log' for update in FROM clause 这个问题出现的情况是: 更新一个表的数据时,where条 ...

  8. mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法

    这个错误实际上也不能称之为咱们sql语句写的不行,实际上是我们在一些细节上没有遵循mysql的语法规范. 问题所在:我们一个sql语句中先select这个表,然后再update这个表的内容. 错误示范 ...

  9. mysql错误:1093-You can’t specify target table for update in FROM clause的解决方法

    在做更新操作的时候,赋值操作用了子查询,这个时候Mysql就报了如标题的错误. 解决方法:子查询需要再包裹一层 把他当成一个新表 然后通过新表查询出来的值 来赋值. 这个方法只适用于你的查询和更新操作 ...

最新文章

  1. 编译Hi3516a osdrv目录
  2. MySQL5.6多实例部署
  3. java中类加载机制、类加载过程和类加载器层次
  4. hadoop27---netty中handler的执行顺序
  5. Java多对多关系示例
  6. 深度学习笔记(22) Padding
  7. 服务器电脑 默认虚拟内存,服务器是否需要设置虚拟内存
  8. 网站搜索引擎优化SEO策略及相关工具资源
  9. 怎么将excel中的url批量转化为图片_Python+Wind 批量下载上市公司年报 - Part 1/2
  10. MAX脚本发送贴图的另外一个方式
  11. C_Learning(3)
  12. 增强版的RecycleViewAdapter,能够直接使用
  13. labelimg安装教程(小白都会)
  14. Pthread线程基础学习
  15. java 苹果支付(内购)
  16. 海思HI3518E视频处理基础概念《二》----- 视频输入VI和 视频输出VO
  17. 如何低成本获得流量?分享购的商业模式了解一下
  18. java水仙花数(详解)
  19. python邮件发送和正则表达式(1)
  20. 谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%

热门文章

  1. 避雷器远方在线检测系统的功能是什么?
  2. 南斯拉夫 苏联 捷克斯洛伐克
  3. 路径跟踪—基于车辆运动学方程的离散时间LQR控制仿真
  4. android颜色(图片)和对应的值-----颜色和值直观显示
  5. 在Linux防火墙上过滤外来的ICMP timestamp和禁止Traceroute探测
  6. oracle判断是否相同,oracle 判断字符串是否相等
  7. html.validationsummary 样式,Html.ValidationSummary(bool)
  8. 性能测试常用术语介绍
  9. python假设检验平均,利用python进行17种统计假设检验
  10. py2exe使用教程(一)——简单的示例