【sql】You can‘t specify target table for update in FROM clause
今天写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相关推荐
- 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_ ...
- 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 这篇 ...
- 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 ...
- 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 距离='',驾车时间=' ...
- MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
文章目录 前言 一.bug描述 二.需求描述 三.错误做法 四.正确写法 1. 正确 sql 2. sql 片段解释: 前言 总结SQL中的bug问题 一.bug描述 You can't specif ...
- 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 ...
- 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条 ...
- mysql操作中 出现You can‘t specify target table for update in FROM clause错误的解决方法
这个错误实际上也不能称之为咱们sql语句写的不行,实际上是我们在一些细节上没有遵循mysql的语法规范. 问题所在:我们一个sql语句中先select这个表,然后再update这个表的内容. 错误示范 ...
- mysql错误:1093-You can’t specify target table for update in FROM clause的解决方法
在做更新操作的时候,赋值操作用了子查询,这个时候Mysql就报了如标题的错误. 解决方法:子查询需要再包裹一层 把他当成一个新表 然后通过新表查询出来的值 来赋值. 这个方法只适用于你的查询和更新操作 ...
最新文章
- 编译Hi3516a osdrv目录
- MySQL5.6多实例部署
- java中类加载机制、类加载过程和类加载器层次
- hadoop27---netty中handler的执行顺序
- Java多对多关系示例
- 深度学习笔记(22) Padding
- 服务器电脑 默认虚拟内存,服务器是否需要设置虚拟内存
- 网站搜索引擎优化SEO策略及相关工具资源
- 怎么将excel中的url批量转化为图片_Python+Wind 批量下载上市公司年报 - Part 1/2
- MAX脚本发送贴图的另外一个方式
- C_Learning(3)
- 增强版的RecycleViewAdapter,能够直接使用
- labelimg安装教程(小白都会)
- Pthread线程基础学习
- java 苹果支付(内购)
- 海思HI3518E视频处理基础概念《二》----- 视频输入VI和 视频输出VO
- 如何低成本获得流量?分享购的商业模式了解一下
- java水仙花数(详解)
- python邮件发送和正则表达式(1)
- 谷歌开源新模型 EfficientNet:图像识别效率提升 10 倍,参数减少 88%
热门文章
- 避雷器远方在线检测系统的功能是什么?
- 南斯拉夫 苏联 捷克斯洛伐克
- 路径跟踪—基于车辆运动学方程的离散时间LQR控制仿真
- android颜色(图片)和对应的值-----颜色和值直观显示
- 在Linux防火墙上过滤外来的ICMP timestamp和禁止Traceroute探测
- oracle判断是否相同,oracle 判断字符串是否相等
- html.validationsummary 样式,Html.ValidationSummary(bool)
- 性能测试常用术语介绍
- python假设检验平均,利用python进行17种统计假设检验
- py2exe使用教程(一)——简单的示例