文档章节

mysql

architect刘源源
 architect刘源源
发布于 2018/02/06 19:09
字数 214
阅读 11
收藏 0

有时候我们在编辑update时需要select作为条件,在mysql中有时会出现这样的错误:You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。

例如下面这个sql:

UPDATE ship_product_cat SET is_parent = 0  WHERE id in(
SELECT id FROM ship_product_cat WHERE name in('Control','Propeller/Shaft')
);

错误信息:

[SQL]UPDATE ship_product_cat SET is_parent = 0 WHERE id in(
SELECT id FROM ship_product_cat WHERE name in('Control','Propeller/Shaft'));
[Err] 1093 - You can't specify target table 'ship_product_cat' for update in FROM clause

 解决方法——换成下面的SQL就可以了 

UPDATE ship_product_cat SET is_parent = 0  WHERE id in(
SELECT a.id FROM
(SELECT id FROM ship_product_cat WHERE name in('Control','Propeller/Shaft'))a
);

 

也就是说将select出的结果再通过中间表select一遍,这样就规避了错误。

 这个错误会出现在mysql中,但不会出现在oracle中。

© 著作权归作者所有

architect刘源源

architect刘源源

粉丝 167
博文 555
码字总数 935372
作品 0
浦东
程序员
私信 提问
mysql 数据库的安装之 二 二进制安装

#二进制安装mysql,直接解压初始化数据库就可以了 1.创建用户和组 [root@Lnmp tools]#useradd mysql -s /sbin/nologin/ -M 2.解压安装包 [root@Lnmp tools]#tar xf mysql-5.5.32-linux2.6-x86...

ahtornado
2017/01/12
0
0
MySQL数据库学习之路

MySQL学习之路 目录 MySQL学习之路【第一篇】:MySQL单双实例安装 MySQL学习之路【第二篇】:MySQL登陆关闭、密码修改破解 MySQL学习之路【第三篇】:MySQL增删改查、用户权授、系统函数、字...

yht_1990
2016/07/18
0
0
测试php与mysql的连接是否成功的多种方法

测试php与mysql的连接是否成功的多种方法其实使用的就是一个php的函数: mysql_connect(); 定义 mysql_connect() 函数打开非持久的 MySQL 连接。 用法:...

小左2010925
2018/06/26
0
0
Linux之MySQL源码编译安装

系统平台:Ubuntu12.04 编译环境:gcc-4.6.3 准备工作: mysql-5.5.28.tar.gz cmake-2.8.10.2.tar.gz ncurses-5.9.tar.gz 由于mysql5.5以上的版本改用cmake编译了,所以要装cmake编译! 此方...

Leonard207
2013/03/06
161
1
MySql中delimiter的作用是什么?

这个命令与存储过程没什么关系吧。 其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。 默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,...

豆花饭烧土豆
2016/03/13
12
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部