`
冷寒冰
  • 浏览: 243803 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL数据库update更新子查询

 
阅读更多
比如:


UPDATE test.tb_vobile a
set a.name = '111 '
WHERE
a.id = (select max(id) id from test.tb_vobile)
报错:



[SQL]UPDATE test.tb_vobile a
set a.name = '111 '
WHERE
a.id = (select max(id) id from test.tb_vobile)


[Err] 1093 - You can't specify target table 'a' for update in FROM clause


以下可通过:


UPDATE test.tb_vobile a
join
(select max(id) id from test.tb_vobile) b
on a.id = b.id
set a.name = '123 ';


UPDATE test.tb_vobile a ,(select max(id) id from test.tb_vobile) b
set a.name = '321 '
WHERE
a.id = b.id ;
说明:

1、update 时,更新的表不能在set和where中用于子查询;
2、update 时,可以对多个表进行更新(sqlserver不行);
如:update ta a,tb b set a.Bid=b.id ,b.Aid=a.id;
3、update 后面可以做任意的查询,这个作用等同于from;
分享到:
评论

相关推荐

    MySql数据库中的子查询与高级应用浅析

    MySql数据库中的子查询: 子查询:在一条select查询语句中嵌套另一条select语句,其主要作用是充当查询条件或确定数据源。 代码案例如下: 例1. 查询大于平均年龄的学生: select * from students where age > ...

    mysql数据库操作.pdf

    Mysql操作命令大全。一、操作数据库;二、数据库中表的操作;三、操作表记录(增删改查,Create Read Update Delete);四、使用limit关键字查询部分数据;...七、子查询;八、事务控制;九、视图;十、权限管理

    超级详细的MySQL数据库实战教程(包教包会)

    MySQL数据库实战教程通常会涵盖从基础到高级的多个方面,帮助用户全面掌握MySQL的使用和优化。以下是一个超级详细的MySQL数据库实战教程的大纲: ... - 深入学习SQL查询,包括连接(JOIN)、子查询、事务处理等。

    数据库多表查询及嵌套查询子查询语句示例

    简单数据库但表查询 select * from kjbdsjk where 姓名 = 王勇 and 分数 = 87...7.在UPDATE语句中应用子查询:update kjbdsjk set 工资 = 工资+1000 where 工资 in (select 工资 from kjbdsjk where 工资 > "+stredit+")

    mysql数据库的基本操作语法

    上面的列名和子查询的列名以及类型要对应 全部列名模式: create table userInfo as select * from user; 直接将整个表的类型和数据备份到新表userInfo中 9、 添加表字段 添加单列 alter table user add tel ...

    开发人员的 MySQL 教程.zip

    还将了解高级数据查询技术,包括INNER JOIN,LEFT JOIN,子查询,UNION等。 参考阅读:http://www.yiibai.com/mysql/basic-mysql.html 第二章 常用技巧 本节将提供一些高级的 MySQL 技术和技巧,以帮助您有效解决 ...

    MYSQL

    9.1.1 用于数据和排序的字符集 9.1.2 增加一个新的字符集 9.1.3 多字节字符支持 9.2 更新日志 9.3 MySQL数据库表可以有多大? 9.4 MySQL数据库表类型 10 从 MySQL 得到最大的性能 ...

    MySQL中文参考手册.chm

    9.1.1 用于数据和排序的字符集 9.1.2 增加一个新的字符集 9.1.3 多字节字符支持 9.2 更新日志 9.3 MySQL数据库表可以有多大? 9.4 MySQL数据库表类型 10 从 MySQL 得到最大的...

    MySQL多表查询(四).pdf

    子查询:在SELECT、INSERT、UPDATE、DELETE语句中使用子查询。 派生表(Derived Table):在查询中创建临时表。 复杂查询构建:结合多个表和复杂条件进行查询。 性能优化:讨论多表查询的性能考量和优化技巧。 事务...

    MySQL中文参考手册

    o 4.4 怎样和何时发布更新版本 o 4.5 安装布局 o 4.6 安装MySQL二进制代码分发 + 4.6.1 Linux RPM注意事项 + 4.6.2 构造客户程序 + 4.6.3 系统特定的问题 # 4.6.3.1 Linux 注意事项 # 4.6.3.2 HP-UX 注意...

    MySQL 5.1中文手冊

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. ...

    MySQL 5权威指南(第3版) 中文版 下载地址

     22.6 mysql_fix_privileges脚本(更新mysql数据库)  22.7 mysql_fix_extensions脚本(重命名MyISAM文件)  22.8 mysql程序(SQL命令解释器)  22.9 mysqladmin程序(日常管理)  22.10 mysqldump程序...

    MySQL 5.1官方简体中文参考手册

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. ...

    MySQL 5.1参考手册

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. ...

    MySQL命令大全

    进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname ...

    MySQL 5.1参考手册中文版

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? ...

    MySQL 5.1参考手册 (中文版)

    1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. ...

    MYSQL常用命令大全

    进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username -p dbname C:...

Global site tag (gtag.js) - Google Analytics