Mysql 1248-每个派生表都必须有自己的别名-找不到原因

Mysql 1248-每个派生表都必须有自己的别名-找不到原因,mysql,mysql-error-1248,Mysql,Mysql Error 1248,我得到了这个错误: 1248-每个派生表都必须有自己的别名 查询是: UPDATE rifa SET maxRifas=( (SELECT maxRifas FROM (SELECT * FROM rifa AS crifa) WHERE crifa.id=1) -1) WHERE rifa.id=1; 请帮忙。试试这个 UPDATE rifa SET maxRifas= (

我得到了这个错误:

1248-每个派生表都必须有自己的别名

查询是:

UPDATE rifa
SET maxRifas=(
              (SELECT maxRifas 
               FROM (SELECT * FROM rifa AS crifa)
               WHERE crifa.id=1)
              -1)
WHERE rifa.id=1;
请帮忙。

试试这个

 UPDATE rifa SET maxRifas= (SELECT (maxRifas - 1) from rifa WHERE id=1)  ;

在FROM中使用嵌套查询时,必须为其指定别名

UPDATE rifa 
SET maxRifas=
  (
      (SELECT maxRifas 
       FROM (SELECT * 
             FROM rifa
            ) as crifa 
       WHERE crifa.id=1
      )-1
   )     
WHERE rifa.id=1;

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获取第行“WHERE rifa.id=1”附近要使用的正确语法1@echo_me我刚刚清理了他的代码作为一个新的答案,看到了你的,然后意识到,为什么我不重写它???我不明白你的意思?你想回答吗?我已经得到了这个错误:/1093-你不能从子句中指定更新的目标表'rifa'。查询:update rifa SET maxRifas=SELECT maxRifas FROM SELECT*FROM rifa as crifa其中crifa.id=1-1谢谢:WHERE rifa.id=1;