Sql 无法在FROM子句中为update指定目标表“s1”

Sql 无法在FROM子句中为update指定目标表“s1”,sql,sql-update,Sql,Sql Update,无法在FROM子句中为update指定目标表“s1” 当执行上述查询时,我得到了该错误。请说明可能的问题是什么?无需在更新子句中指定实例 UPDATE sch_scores s1 SET s1.Score = '4' WHERE EXISTS (select * from sch_scores s2 WHERE s2.ResultID = "24614" AND s2.FormatID = "

无法在FROM子句中为update指定目标表“s1”


当执行上述查询时,我得到了该错误。请说明可能的问题是什么?

无需在更新子句中指定实例

UPDATE sch_scores s1 
   SET s1.Score = '4' 
WHERE EXISTS (select * 
              from sch_scores s2 
              WHERE s2.ResultID = "24614" 
                AND s2.FormatID = "9" 
                AND s2.Score = "4")
UPDATE sch_scores 
SET Score = '4' 
WHERE EXISTS (select * 
              from sch_scores s2 
              WHERE s2.ResultID = "24614" 
                AND s2.FormatID = "9" 
                AND s2.Score = "4") 

您不能也不需要在更新查询中提供别名s1。更新时给表起临时名称是很不必要的,不是吗

UPDATE sch_scores
    SET Score = '4' 
    WHERE EXISTS (select * from sch_scores s2 WHERE s2.ResultID = "24614" AND s2.FormatID = "9" AND s2.Score = "4")

即使删除了别名UPDATE schu scores SET Score='4',其中SELECT*来自schu scores.ResultID=24614和schu scores.FormatID=9和schu scores.Score=4的schu scores,我仍然会得到相同的错误。我使用mysql来实现这一点
 UPDATE sch_scores
   SET Score = '4' 
WHERE EXISTS (select * 
              from sch_scores s2 
              WHERE s2.ResultID = "24614" 
                AND s2.FormatID = "9" 
                AND s2.Score = "4")