技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152

1.在MySQL中,写SQL语句的时候 ,可能会遇到You can't specify target table '表名' for update in FROM clause这样的错误,它的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值。

下面的语句会报这个错:

DELETE
FROMsys_roleaccess
WHEREaccess_id IN (SELECTt.access_idFROMsys_roleaccess tWHEREt.access_id NOT IN (SELECTa.access_idFROMsys_access a))

2、问题解决

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

改成下面这样:可以看到又添加了一层,也就是相当于,临时建一个视图

DELETE
FROMsys_roleaccess
WHEREaccess_id IN (SELECTaccess_idFROM(SELECTt.access_idFROMsys_roleaccess tWHEREt.access_id NOT IN (SELECTa.access_idFROMsys_access a)) t1)

3.注意:

需要注意的是,这个问题只出现于MySQL,MSSQL和Oracle不会出现此问题。

数据库工作笔记018---MySQL 中 You can't specify target table '表名' for update in FROM clause错误解决办法相关推荐

  1. MySQL 中 You can‘t specify target table ‘表名‘ for update in FROM clause解决办法

    废话懒得说了 将SELECT出的结果再通过中间表SELECT一遍,这样就规避了错误. update truth_jt set fee='1' where id in (SELECT j.id from ...

  2. Mysql You can‘t specify target table ‘表名‘ for update in FROM clause错误解决方案

    Mysql You can't specify target table '表名' for update in FROM clause错误解决方案 测试表结构及测试数据 1. 更新 code 开始以 ...

  3. MYSQL修改报错 You can‘t specify target table ‘表名‘ for update in FROM clause

    MYSQL You can't specify target table '表名' for update in FROM clause 解决办法 原始SQL 这是我一开始使用的语句. // An hi ...

  4. 【mysql 】sql删除重复记录 You can't specify target table '表名' for update in FROM clause

    用下面的语句就报语法出错: delete from tab_record where recordid not in (select  min(c.recordid) as recordid from ...

  5. Mysql:You can't specify target table for update in FROM clause的解决办法

    You can't specify target table '表名' for update in FROM clause 意思是 不能先select出同一表中的某些值,再update这个表 原SQL ...

  6. 数据库基础笔记(MySQL)3 —— 基础操作

    表操作 表的创建 ( create ) create table 表名 ( 字段1 数据类型,字段2 数据类型 - ) ; 例:create table table_1 ( id int , name ...

  7. MYSQL之You can't specify target table for update in FROM clause解决办法

    MYSQL之You can't specify target table for update in FROM clause解决办法 2016年12月21日 15:24:23 阅读数:19272 这篇 ...

  8. 数据库基础笔记(MySQL)7 —— 存储引擎和视图 ( 完结撒花 )

    存储引擎 实在是学浅才疏,只能大致写点,放篇大佬的,看详细的去吧 传送门 ,等我闲下来学会了再来补充 即一个表存储数据的方式,不同的存储引擎会提供不同的功能,性能等 可以用 engine 指定存储引擎 ...

  9. 数据库基础笔记(MySQL)5 —— 基础索引

    索引 索引是帮助 MySQL 高效获取数据的数据结构,可以在字段上添加,用于提高查询效率( 可以给一个字段添加,也可以给多个字段联合添加 ) 创建索引,就相当于为这个字段中的数据创建一个 B+ 树,如 ...

最新文章

  1. oracle11G在linux环境下的卸载操作
  2. 《金蝶ERP—K/3标准财务模拟实训(11.X版)》——第1章 金蝶K/3标准财务介绍 1.1 金蝶K/3标准财务系统介绍...
  3. OSG官方自带的例子程序简介
  4. android程序到处apk,导出已安装到手机中程序的apk文件
  5. mac 没有所有开发者_为什么开发人员应该像产品所有者那样思考
  6. 项目管理(2):管理过程二
  7. vba编程把纯文本转换成html,如何在Excel的单元格中将HTML转换为文本?
  8. springboot(六):如何优雅的使用mybatis
  9. mysqld -install命令时出现install/remove of the service denied错误的原因和解决办法
  10. 软件项目管理(学习笔记)
  11. 华为手机微信小程序上传不了照片
  12. Bayesian Learning via Stochastic Gradient Langevin Dynamics
  13. Hbase——练习3
  14. 【cocos2d-x入门实战】微信飞机大战之八:自定义敌机精灵
  15. **京东撸货是什么,京东撸货具体怎么玩,能不能赚钱,我来告诉你**
  16. 暗影精灵双系统(win10和Ubuntu16.04)安装+Cuda和tensorflow安装-深度学习环境配置
  17. 配置文件App.config 生成和调用的两种方式
  18. vue.js bootstrap 下拉列表_Excel下拉菜单制作的小技巧
  19. a^b%c(蒙格马利快速幂模算法)
  20. 磷酸铁锂锂电池发展现状分析

热门文章

  1. Android学习笔记(三)——Button之圆角、按压效果、点击事件
  2. 安装配置 TensorFlow on Android
  3. Spring MVC提供http接口供下载文件
  4. VS2008 Qt Designer 中自定义信号槽
  5. 吴恩达深度学习2.2练习_Improving Deep Neural Networks_Optimization
  6. 实时计算轻松上手,阿里云DataWorks Stream Studio正式发布
  7. Linux安全加固--系统相关
  8. docker必须要sudo,但是sudo的话,又获得不了环境变量怎么办?
  9. Golang的简明安装指南
  10. 【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)