1. 报错信息:

Error Code: 1093. You can't specify target table 'self_check' for update in FROM clause

错误的sql语句:

update self_check set calculated=1 where self_check.id in (select distinct self_check.id from self_check, self_result where self_check.selfId=self_result.selfId and self_check.chainId=self_result.chainId order by self_check.id)

错误原因:

不能根据某个表select的字段去update这个表(对同一个表的where和update不能出现在同一语句中)

可以再套一层select,即:update self_check set calculated=1 where self_check.id in (select * from (select distinct self_check.id from self_check, self_result where self_check.selfId=self_result.selfId and self_check.chainId=self_result.chainId order by self_check.id))

参考文章:https://blog.csdn.net/chinafire525/article/details/91045069

2. 改成上述sql后出现了新的问题

报错信息:

Error Code: 1248. Every derived table must have its own alias
错误原因:

对于查询得到的派生表要起个别名

将sql改成:update self_check set calculated=1 where self_check.id in (select * from (select distinct self_check.id from self_check, self_result where self_check.selfId=self_result.selfId and self_check.chainId=self_result.chainId order by self_check.id) as checkIds)

3. 改成上述sql后又出现了新问题

报错信息:

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.  To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
错误原因:

为了防止没有设置where就update所有数据(防止update误操作),workbench默认会设置为safe update模式。错误信息说的是在update table的时候where没有限定主键,使得update不能根据主键来更新,存在一定的问题。

其实我这个self_check.id是self_check表的主键,但是可能因为它后续接着的sql语句是select *,导致mysql判断为没有对主键做限定。这种情况按照上面的错误信息把safe update模式关闭即可:File->Preferences->SQL Editor->Safe Updates取消勾选->OK

4. 终于成功执行了,可喜可贺*★,°*:.☆( ̄▽ ̄)/$:*.°★*

【MySQL】Error Code: 1093. You can‘t specify target table ‘xxx‘ for update in FROM clause相关推荐

  1. [Err] 1093 - You can't specify target table 'xxx' for update in FROM clause解决方法

    执行开发同学提供的删除数据的sql时报错[Err] 1093 - You can't specify target table 'run_result' for update in FROM clau ...

  2. 记录一个多表查询的问题 #1093 - You can‘t specify target table ‘xxx‘ for update in FROM clause

    SQL里面,多表查询比较常见,用法也比较简单 可以是 SELECT ood.oodId, ood.status, ood.userId, orders.createdAt FROM ood, orde ...

  3. 全网详细解决1093 - You can‘t specify target table ‘xxx‘ for update in FROM clause的错误

    文章目录 1. 复现错误 2. 分析错误 3. 解决错误 1. 复现错误 今天在工作时,接到一个新需求,就是将app_page_button表中的label_code字段修改为edit,条件如下: 只 ...

  4. MySQL [1093] You can‘t specify target table ‘titles_test‘ for update in FROM clause

    执行以下语句: delete from titles_test where id not in(select min(id)from titles_testgroup by emp_no); 会报出错 ...

  5. 解决——》[Err] 1093 - You can't specify target table 'fcf' for update in FROM clause

    版权声明:本文为博主原创文章,无需授权即可转载,甚至无需保留以上版权声明,转载时请务必注明作者. https://blog.csdn.net/weixin_43453386/article/detai ...

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

    [Err] 1093 - You can't specify target table 's' for update in FROM clause 执行SQL DELETE from book WHE ...

  7. MySQL 语法问题:You can‘t specify target table ‘xxx‘ for update in FROM clause. 原因及解决方法

    报错信息如下: [Code: 1093, SQL State: HY000] You can't specify target table 'bd_bankaccbas' for update in ...

  8. mysql 1677_【MySQL】Error Code:1677处理过程小记

    Error number: 1677; Symbol: ER_SLAVE_CONVERSION_FAILED; SQLSTATE: HY000 Message: Column %d of table ...

  9. Mysql语句提示You can't specify target table 'XXX' for update in FROM clause解决方案

    错误提示:You can't specify target table 'XXX' for update in FROM clause 不能从子句中指定更新表的目标表"XXX" 原 ...

最新文章

  1. 搭建LoadRunner中的场景(三)场景的执行计划
  2. 数据结构与算法:链表,队列,栈,递归,有序表
  3. 问题 D: 约数的个数
  4. python序列_什么是Python的序列协议?
  5. [笔试面试题] 8-面向对象篇
  6. Nginx根据User-Agent适配PC和手机
  7. Editplus 使用技巧大全
  8. 2015-2020: 5年,不问归期,奋斗没有终点
  9. java-assured_rest-assured之获取响应数据(Getting Response Data)
  10. php 国际标准时间_时区-如何在PHP中获得格林威治标准时间?
  11. html点击加号数字加一,JavaScript 加号(+)运算符号
  12. 【scrapy爬虫】爬取华为应用市场中所有应用的评论数据
  13. IOS天气预报(美化)
  14. kdj超卖_如何正确理解KDJ?
  15. 机器人操作系统 ROS 相关书籍整理合集 [古月居推荐]
  16. 数据挖掘算法之FP-Growth算法介绍及Spark代码实现
  17. Facebook投放广告总被拒?教你搞定FB广告投放
  18. flutter如何访问mysql数据库_手把手教你在Flutter项目优雅的使用ORM数据库
  19. MATLAB学习第五章矩阵
  20. 0元0基础搭建个人网站简易实操

热门文章

  1. yoga1976_Yoga Studios的21个最佳WordPress主题(2020)
  2. 什么是缓存穿刺和缓存雪崩?如何解决缓存穿透,缓存雪崩?
  3. 放着放着假,公司就倒闭了
  4. 【加减乘除类和三角形判断类、一元二次方程】
  5. Mobaxterm 通过ssh远程登录ubuntu
  6. JAVA调用PageOffice实现Word文档中加盖印章
  7. 给我的大学做的网站,另外分享我的源码。
  8. 论程序员如何画水粉画
  9. 记录Ubuntu下安装使用QT
  10. css3上下左右渐变效果,很酷,很强大