MySQL delete语句的问题
以前遇到过几次这个问题,都觉得问题不大,所以没有记录,但是这次又遇到了,而且没有第一时间想起来,所以还是有记录下的必要
MySQL delete语句使用子查询操作同一张表的时候会抛出
DELETE from abc where id in (select c.id from abc c where c.C_ID is null )
[Err] 1093 - You can't specify target table 'abc' for update in FROM clause
解决办法:加上一个虚拟中间表中转一下
DELETE from abc where id in (select * from (select c.ID from abc c where c.C_ID is null) s );
在更新的时候也会存在同样的问题
解决到了,但是原理是什么?不清楚,希望有大神看到后指教下,谢谢。
还有一个问题,删除的时候是不能起别名的
delete from abc s where s.ID = 'qeq';
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's where s.ID = 'qeq'' at line 1
别名拿掉就可以正常执行了
MySQL delete语句的问题的更多相关文章
- MySQL DELETE语句和TRUNCATE TABLE语句的区别
MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...
- MySQL DELETE 语句
MySQL DELETE 语句 你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 你可以在mysql>命令提示符或PHP脚本中执行该命令. 语法 以下是S ...
- 十五、MySQL DELETE 语句
MySQL DELETE 语句 你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令. 语法 ...
- mysql DELETE语句 语法
mysql DELETE语句 语法 作用:用于删除表中的行.广东大理石构件 语法:DELETE FROM 表名称 WHERE 列名称 = 值 mysql DELETE语句 示例 //删除person表 ...
- mysql从零开始之MySQL DELETE 语句
MySQL DELETE 语句 你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令. 语法 ...
- mysql delete语句不能用别名
在mysql数据库里运行delete语句 delete ’; 发现会报错: [Err] - You have an error in your SQL syntax; check the manual ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL DELETE 语句
可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 可以在 mysql> 命令提示符或 PHP 脚本中执行该命令. 语法 以下是 SQL DELETE 语句从 ...
- mysql delete 使用别名 语法
今天删除数据,写了这么条sql语句, DELETE from sys_menus s WHERE s.MENU_ID in (86,87,88); 结果报错.. [Err] 1064 - You ...
- 对MySQL DELETE语法的详细解析
以下的文章主要描述的是MySQL DELETE语法的详细解析,首先我们是从单表语法与多表语法的示例开始的,假如你对MySQL DELETE语法的相关内容十分感兴趣的话,你就可以浏览以下的文章对其有个更 ...
随机推荐
- sface
单步检测方法分为两类:anchor-based如ssd.RetinaNet;2)Anchor-free 如DenseBox.UnitBox;anchor-based处理的尺度范围虽小,更精准:anch ...
- 三、Linux的目录结构:
root管理员的home目录root 其他用户的home目录home目录中
- es6 - 一共有 6 种声明变量的方法(var, function, let, const, class, import)
var命令和function命令声明的全局变量,依旧是顶层对象的属性:let命令.const命令.class命令声明的全局变量,不属于顶层对象的属性.也就是说,从 ES6 开始,全局变量将逐步与顶层对 ...
- [Oracle][DATAGUARD] PHYSICAL STANDBY环境里,使用CATALOG管理Primary和Standby
1.先使用控制文件构筑好PHYSICAL STANDBY环境(Primary:Single 11.2.0.4,Standby Single 11.2.0.4) 2.构筑好Catalog用的服务器(Ca ...
- grep用法
正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:在以前上班 ...
- P2010 回文日期 题解
这题其实就是纯暴力,暴力,再暴力,毫无技巧可言(总之您怎么乱搞都不会超时QAQ) 首先,根据题意,我们明白每年自多产生一个回文日期,因为对于每年的三百多天,前四位是固定的. 所以,我们只需要进行一个从 ...
- selenium 分布式 [WinError 10061] 由于目标计算机积极拒绝
selenium grid分布式,老是出现[WinError 10061] 由于目标计算机积极拒绝的问题 网上查了一圈,出现积极拒绝大概是代理问题, 捣鼓了一圈,还是不行 想到fiddler自动侦听了 ...
- Java中Json字符串转换为对象的方法(多层List集合)
借鉴自:http://www.jb51.net/article/91142.htm 在将json字符串转换成对象flightInfo时,当flightInfo对象中有List<flightCla ...
- Ceph集群更换public_network网络
1.确保ceph集群是连通状态 这里,可以先把机器配置为以前的x.x.x.x的网络,确保ceph集群是可以通的.这里可以执行下面的命令查看是否连通,显示HEALTH_OK则表示连通 2.获取monma ...
- 目标检测(二) SPPNet
引言 先简单回顾一下R-CNN的问题,每张图片,通过 Selective Search 选择2000个建议框,通过变形,利用CNN提取特征,这是非常耗时的,而且,形变必然导致信息失真,最终影响模型的性 ...