文档章节

使用mysql进行delete from xx in(子查询) 操作时,若子查询的 FROM ...

skq
 skq
发布于 2013/05/26 22:09
字数 186
阅读 744
收藏 0

mysql> delete from user_goods where rec_id in (select b.rec_id from user_goods as ug inner join goods as g on ug.goods_id=g.goods_id where b.expired_time<1351612800);
ERROR 1093 (HY000): You can’t specify target table ‘user_goods’ for update in FROM clause

针对“同一张表”这个限制,可以通过增加别名的方式就可以避免了。如:

delete from user_goods where rec_id in (select * from (select b.rec_id from user_goods as ug inner join goods as g on ug.goods_id=g.goods_id where b.expired_time<1351612800) as tmp_result);
网上有人说,子查询里面不能有where条件,LZ专门试了一下,并没有这个限制!

delete from user_goods where rec_id in (select * from (select b.rec_id from user_goods as ug inner join goods as g on ug.goods_id=g.goods_id where b.expired_time<1351612800) as tmp_result where 1);
依然可以执行。

转载:http://54chengxuyuan.com/archives/88




© 著作权归作者所有

skq

skq

粉丝 10
博文 75
码字总数 13091
作品 0
武汉
私信 提问
Mysql基础3-数据操作语言DML-数据查询语言DQL

主要: 数据操作语言DML 数据查询语言DQL 数据操作语言DML   DML: Data Mutipulation Language   插入数据(增)   一般插入数据形式   1)形式1: insert [into] 表名 [(字段名1,...

young67
2018/07/30
0
0
原 MySQL数据库的常用操作

学习python少不了和数据库打交道,常见的数据库有:MySQL、SQLite、MongoDB、Redis等,这里主要介绍一下MySQL数据库的基本操作。 数据库听起来感觉好高大上,当你接触之后有种恍然大悟的感觉...

Java架构师那些事
2018/08/29
0
0
MySQL数据表中的数据操作

1、插入数据 以下方式必须写出所有的字段 可以通过 insert into xxx select xxx 插入已有表中的数据 2、简单查询 select * from 表名 查询条件 select * from 表名 where 条件 3、更新 upda...

pmos
2016/08/04
28
0
《MySQL必知必会》笔记1

2016/2/21 数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 数据库管理系统(DBMS):用于访问数据库。 表:某种特定类型数据的结构化清单。相同的数据库中表的名字是唯一的 模...

fxdhdu
2016/03/01
10
0
MySql性能优化知识整理

一、数据类型 慷慨是不明智的,举例varchar(5)和varchar(200)存储‘Word’的空间是一样的,那为什么又说慷慨是不明智的呢?实验证明更长的列会消耗更多的内存,因为mysql通常会分配固定大小的...

小车车
2016/11/05
20
0

没有更多内容

加载失败,请刷新页面

加载更多

Leetcode PHP题解--D106 997. Find the Town Judge

D106 997. Find the Town Judge 题目链接 997. Find the Town Judge 题目分析 给定一个数组N代表人数,和给定一个数组,每个元素为一个只有两个值(a,b)的数组。 代表a信任b。 从中找到一个b...

skys215
24分钟前
0
0
日志相关---log4j2配置文件详解

一、关于配置文件的名称以及在项目中的存放位置 log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn". 系统选择配置文件的...

spinachgit
24分钟前
0
0
redis 消息队列实现

方式一:通过list的阻塞读取命令,blpop或者brpop 消费者 public class Consumer extends DemoApplicationTests{ @Test public void consume(){ int timeout = 0;//永不超......

小海bug
46分钟前
2
0
如何把微信语音汇总成一个MP3文件?

本篇以苹果手机为例,安卓手机也可类似。 第一步,安装同步助手 同步助手是一款在电脑上安装,可以保存手机上的内容的软件。支持把微信的聊天历史内容导出。甚至支持筛选语音文件按顺序导出—...

吴伟祥
52分钟前
4
0
用ffsend使用Firefox Send

导读 ffsend 是 Firefox Send 的命令行客户端。本文将展示 Firefox Send 和 ffsend 如何工作。还会详细介绍如何在 Fedora 中安装和使用它。 ffsend 是 Firefox Send 的命令行客户端。本文将展...

问题终结者
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部