1.1 错误分析:理解MySQL的更新限制 在处理MySQL数据库时,经常会遇到一个特定的错误提示:“You can't specify target table '表名' for update in FROM clause”。这个错误的核心在于MySQL不允许在一个SQL语句中同时从一个表中选择数据并更新同一个表。这种限制是为了防止在执行更新操作时出现数据不一致的问题。例...
UPDATE my_table AS t1 JOIN (SELECT my_value FROM my_table WHERE condition) AS t2 ON t1.some_condition = t2.some_condition SET t1.my_column = t2.my_value; 这些方法都可以解决’You can’t specify target table ‘xxx’ for update in FROM clause’的错误。你可以根据你的具体情况选择最适合...
简介:这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。 前言 总结SQL中的bug问题 一、bug描述 You can't specify target table 'CUP_TEST_CLASS_LIST' for update i...
一、发现问题 在一次准备处理历史数据sql时,出现这么一个问题:You can't specify target table '表名' for update in FROM clause,大致的意思就是:不能在同一张表中先select再update。 在此进行一下复盘沉淀,使用测试sql复现当时的场景(mysql是8版本),准备测试数据: CREATE TABLE `student` ( `id` int NOT ...
这个时候就会出现 You can‘t specify target table 'table_name' for update in FROM clause 错误 它的意思是说,不能在同一语句中,先select出同一表中的某些值,再update这个表,即不能依据某字段值做判断再来更新某字段的值。 这个问题在MySQL官网中有提到解决方案:MySQL-UPDATE- 拉到文档下面 ...
You can't specify target table '表名' for update in FROM clause 翻译:不能先select出同一表中的某些值,再update这个表(在同一语句中) 一、案例 1、有三张表,分别是:学生表,班级表,成绩表 学生表: 班级表: 成绩表: 题目要求:给大一成绩不合格的分数加5分。
简介:【MySQL异常】1093 - You can‘t specify target table ‘daily_job‘ for update in FROM clause 一、背景描述 通过sql语句想把这个表里的数据查询出来,然后根据查询出来的id把同一张表里的数据删除, 如下是会报错的sql语句: DELETEFROMdaily_jobWHEREid IN ( SELECT id FROM daily_job WHERE create_user...
MySQL中You can't specify target table for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 例如下面这个sql: 代码语言:javascript 复制 delete from tbl where id in ( select max(id) from tbl a where EXISTS ( select 1 from tbl b where a....
出现1093 - You can't specify target table 'daily_job' for update in FROM clause这个错误,它表面的意思是不能在同一个sql语句中,先select同一个表的某些值,然后再update这个表。 其实原因就是MySQL不支持,在一条语句对同一个表,先查询再更新的操作。
MySQL出现You can‘t specify target table for update in FROM clause错误 HachiLin关注IP属地: 辽宁 2023.02.04 18:50:37字数294阅读372 1. 背景 由于当天的数据被昨天的数据污染了,需要删除数据,以保证当天的数据报表展示正确。以手机号为例子,每天会处理新增的手机号客户,但是不应该包含昨天的手机号客户数据。