You can‘t specify target table xxx‘ for update in FROM clause,错误明显mysql报错尽量不应该在增删改的里面用查询语句,如果用的话,应该搞一个临时包裹下。
解决方法:select的结果再通过一个中间表select多一次,就可以避免这个错误 UPDATEtable_nameSETfield_type=NULLWHEREidIN(SELECTa.idFROM(SELECTidFROMtable_nameWHEREfield_type=1) a )
一、bug描述 You can't specify target table 'CUP_TEST_CLASS_LIST' for update in FROM clause 翻译一下: 不能在FROM子句中指定更新的目标表’CUP_TEST_CLASS_LIST’ 白话一下: 不能先select出同一表中的某些值,再update这个表(在同一语句中) 二、需求描述 有一张表,想要改变某一列中的某些字段的数据。
一、发现问题 在一次准备处理历史数据sql时,出现这么一个问题:You can't specify target table '表名' for update in FROM clause,大致的意思就是:不能在同一张表中先select再update。 在此进行一下复盘沉淀,使用测试sql复现当时的场景(mysql是8版本),准备测试数据: CREATE TABLE `student` ( `id` int NOT ...
Mysql中如何解决You can't specify target table '表名' for update in FROM clause报错为什么会出现这个错误呢?这是因为在MySQL使用时,在同一条SQL语句中,不允许先SELECT出同一个表的某些值,再对该表进行UPDATE操作。解决方式sql # Write your MySQL query statement below delete from Person where id not in...
mysql:youcantspecifytargettable问题解决 mysql:youcantspecifytargettable问题解决⾸先创建⼀个表:CREATE TABLE `t1` (`id` INT(11) NULL DEFAULT NULL,`name` VARCHAR(20) NULL DEFAULT NULL )插⼊⼏条数据:mysql>select*from t1;+---+---+ | id | name | +---+---+ |1| chen | ...
怎么处理呢,很简单,将查询结果加多一个别表名再进行查询即可,如下 DELETEFROMwork_item_role_permissionWHEREid IN(SELECTresult.id FROM(SELECTt.id FROM(SELECTt1.id,t1.permission_code,t1.work_item_role_idFROMwork_item_role_permission t1WHERE(SELECTCOUNT(*)FROMwork_item_role_permissionWHEREpermission_co...
[Err]1093-You can'tspecify target table'表名'forupdateinFROM clause 问题原因 例如下面这个SQL,其在执行时就会出现以上报错: UPDATE users SET sex=1WHERE id IN(SELECT id FROM users WHERE realname="小白"AND id>2); 为什么会出现这个错误呢?这是因为在MySQL使用时,在同一条SQL语句中,不允许先SELECT...
错误消息 "you can't specify target table 'sys_menu' for update in from clause" 通常出现在使用 MySQL 数据库时,尝试在同一个查询中既对 sys_menu 表进行更新操作(UPDATE),又在该查询的 FROM 子句中引用同一个表作为数据源。MySQL 不允许在 FROM 子句中直接引用正被更新的表,因为这会导致操作不明确或...
在执行 mysql 语句时,出现1093 - You can't specify target table 'daily_job' for update in FROM clause 二、错误原因 出现1093 - You can't specify target table 'daily_job' for update in FROM clause这个错误,它表面的意思是不能在同一个sql语句中,先select同一个表的某些值,然后再update这个表。