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’的错误。你可以根据你的具体情况选择最适合...
update student set address = (select address from student where name = '李四') where name = '张三'; 1. 2. 此时,一样的报错:> 1093 - You can’t specify target table ‘student’ for update in FROM clause 解决方式同上,查询时再加一层,使其成为临时表: update student set address = (selec...
此时报错:1093 - You can't specify target table 'result' for update in FROM clause 二、正解写法 UPDATEresultSETStudentResult=StudentResult+5WHEREStudentResultin(SELECTa.StudentResultfrom(SELECTres.StudentResultFROMstudent stuJOINresult resonres.StudentNo=res.StudentNoWHEREres.StudentResult=53andstu.Grade...
我想更新 table_name 表, 将表中 field_type = 1 的记录的 field_type 字段置为空,语句如下: UPDATEtable_nameSETfield_type=NULLWHEREidIN(SELECTidFROMtable_nameWHEREfield_type=1) 这个时候就会出现 You can‘t specify target table 'table_name' for update in FROM clause 错误 它的意思是说,不能在...
You can't specify target table 'CUP_TEST_CLASS_LIST' for update in FROM clause 翻译一下: 不能在FROM子句中指定更新的目标表’CUP_TEST_CLASS_LIST’ 白话一下: 不能先select出同一表中的某些值,再update这个表(在同一语句中) 二、需求描述
在MySQL中,写SQL语句的时候 ,可能会遇到You can't specify target table '表名' for update in FROM clause这样的错误,它的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 1、问题是如何出现的? 数据准备 CREATETABLET_Person(pIdINTPRIMARYKEYAUTO_INCREMENT,pNameVARCHAR(20));INS...
UPDATE sc SET grade =grade*1.05 WHERE grade < (SELECT AVG(grade) AS avg_grade FROM sc) 报错信息如下: 错误代码: 1093 You can't specify target table 'sc' for update in FROM clause 意思是不能在同一语句中更新select出的同一张表元组的属性值 ...
You can't specify target table '表名' for update in FROM clause 翻译为:不能先select出同一表中的某些值,再update这个表(在同一语句中) 实例: 表:result 表result 表student 表student 表:grade 表grade 要求:给大一成绩不合格的分数加5分 思路: ...
首先明确一点这个错误只会发生在delete语句或者update语句,拿update来举例 :update A表 set A列 = (select B列 from A表);这种写法就会报这个错误,原因:你又要修改A表,然后又要从A表查数据,而且还是同层级。Mysql就会认为是语法错误! 嵌套一层就可以解决,update A表 set A列 = (select a.B列 from (sele...
在MySQL中,写SQL语句的时候 ,可能会遇到You can't specify target table'表名'for update in FROM clause这样的错误 错误含义 它的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值。