`
psfu
  • 浏览: 3842 次
文章分类
社区版块
存档分类
最新评论

mysql 不支持嵌套更新的问题

阅读更多

 

执行嵌套更新,遇到错误You can't specify target table 'scar' for update in FROM clause

update scar

set main_resource_id=(

  select id from  scar2

  where 1=1 and scar2.subject_templates_activity_resource_id=(

    select main_resource_id from  star 

    where 1=1 and star.id=scar.subject_templates_activity_resource_id

    )

  )

where 1=1 

and scar.group_type=2

 

查询发现mysql不支持嵌套更新,只好改用表连接来进行更新

 

update  scar

inner join scar2

inner join  star 

set scar.main_resource_id=scar2.id

where 1=1

and scar2.subject_templates_activity_resource_id=star.main_resource_id

and star.id=scar.subject_templates_activity_resource_id

and scar.group_type=2

and scar.activity_id in (select id from rsc_subject_cases_activity sca where sca.subject_cases_id='1')

 

感觉这样性能会查一些,不过等后续修改的时候再查执行计划看看

分享到:
评论

相关推荐

    MySQL嵌套事务所遇到的问题

    MySQL是支持嵌套事务的,但是没多少人会这么干的…. 前段时间在国外看到一些老外在争论MySQL嵌套事务的场景必要性。 逗死我了, 这嵌套的鬼畜用法还有啥场景必要性。 跟以前的dba同事聊过, 得知,在任何场景下都...

    mysql游标嵌套[文].pdf

    MySQL 支持游标嵌套,允许开发者创建复杂的数据处理逻辑。 二、示例代码分析 在本文档中,我们提供了一个示例代码,演示如何使用游标嵌套来初始化用户数据。该示例代码创建了三个表:tb_user、tb_user_param 和 tb...

    嵌套查询解决分页问题

    在本文中,我们将深入探讨如何使用嵌套查询来解决分页问题,以及在MySQL和SQL Server中实现这一目标的不同方法。 首先,分页是Web应用中常见的需求,尤其是在数据量庞大的情况下。分页可以避免一次性加载大量数据,...

    MySQL 5.7 中文文档

    9. **存储过程和触发器**:MySQL 5.7对存储过程和触发器的处理能力进行了提升,支持嵌套调用和更复杂的逻辑控制,提升了数据库的程序化操作能力。 10. **性能监控**:新增的性能 Schema模块提供了丰富的数据库性能...

    适合村状表结构的模式--《嵌套集合模型》

    传统的关系型数据库表并不直观地支持层级关系,这使得管理此类数据变得复杂。本文将探讨嵌套集合模型,这是一种新颖而高效的方法,用于在关系型数据库中表示和操作分层数据。 #### 什么是嵌套集合模型? 嵌套集合...

    PHP中实现MySQL嵌套事务的两种解决方案

    在PHP与MySQL交互时,由于MySQL本身不支持嵌套事务,即事务不能被嵌套在另一个事务内部。然而,在实际的复杂系统开发中,我们可能会遇到这种情况,例如在一个事务中调用了另一个含有事务的函数,导致事务的嵌套。在...

    MySql 5.1 参考手册.chm

    2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...

    MySQL 5.1参考手册

    2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上...

    MySQL VS ORACLE.pdf

    在架构方面,MySQL支持多种存储引擎,包括MyISAM、InnoDB等,其中MyISAM不支持事务处理,而InnoDB支持事务。相比之下,Oracle采用单一的存储引擎模型,支持事务处理,将表组织成索引-组织表、聚簇表、嵌套表等多种...

    MySQL 5.1中文手冊

    2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...

    mysql官方中文参考手册

    2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...

    MySQL嵌套查询实例详解

    在MySQL 4.11版本之后,这种功能得到了全面支持。以下是一些关于嵌套查询的基本概念和实例: 1. **SELECT语句的子查询** 子查询可以作为FROM子句的一部分,或者在WHERE、HAVING、SELECT或HAVING子句中作为表达式。...

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

    2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...

    java实现多层嵌套循环参数转换

    在Java编程中,多层嵌套循环是一种常见的数据处理方式,尤其在处理具有层次关系的数据时,例如构建或解析父子级结构。在这种场景下,我们可能需要遍历多个层级的数据,以便进行转换、操作或者存储到数据库中。下面将...

    MySQL 5.1参考手册 (中文版)

    2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装...

    MySQL 5.1参考手册中文版

    2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上...

    MySQL数据库PDF文档

    MySQL数据库支持多种数据类型,包括数值类型、字符类型、日期类型等。数值类型包括整数类型和浮点数类型。字符类型包括定长字符串、变长字符串和文本类型。日期类型包括日期和时间类型。 约束条件 约束条件是指对...

    mysql-installer-community-8.0.26.0.msi

    MySQL 8.0是MySQL的主要版本,其中.26代表了该版本的更新迭代。MySQL 8.0带来了许多性能提升、功能增强和安全改进。以下是一些关键特性: 1. **InnoDB引擎优化**:InnoDB作为MySQL的默认存储引擎,在8.0版本中进行...

Global site tag (gtag.js) - Google Analytics