教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysql中update语句赋值嵌套select的示例代码

mysql中update语句赋值嵌套select的示例代码

发布时间:2016-03-05   编辑:jiaochengji.com
本文介绍下,在mysql数据库中,update语句赋值嵌套select的方法,有需要的朋友参考下。

本节内容:
mysql数据库中update语句赋值嵌套select

例句:
 

复制代码 代码示例:
update a set col=(select col from a where id='5') where id>5 and id<10;

报错:
ERROR 1093 (HY000): You can't specify target table 'a' for update in FROM clause

原因分析:
mysql 定义update语句不能同时对同一张进行set 赋值操作,即:
update a 时 不能在后面select col from a ,如果是不同表操作则无此问题。

解决方法:
 

复制代码 代码示例:
update a set col=(select col from (select * from a ) as b where id='5' )where id>5 and id <10;

将select中a的表起一个别名b,即可解决:
 

复制代码 代码示例:
update mem_player set `DataWarehouse`=(select `DataWarehouse` from (select * from mem_player) as b where `Pid`=100000)

您可能感兴趣的文章:
mysql中update语句赋值嵌套select的示例代码
mysql select语句同时UPDATE同一张表的方法举例
MySQL update 语句的正确用法(多表update、单表update)
mysql update语句的用法详解
mysql的call用法 嵌套函数调用的例子
MySQL中INSERT INTO SELECT语句的用法
分享:mysql update语句的用法
mysql使用update set from select语句的例子
mysql经典sql语句(1)
mysql存储过程使用select ... into语句为变量赋值范例

[关闭]
~ ~