Mysql 更新的目标表不可更新

Mysql 更新的目标表不可更新,mysql,sql,Mysql,Sql,我需要运行此查询: UPDATE TempRH T JOIN ( SELECT offices_id,MAX(Poids)AS Poids FROM TempRH GROUP BY offices_id )T1 ON T1.offices_id=T.offices_id SET T1.Poids=0 但在执行时,它会给出一个错误: #1288

我需要运行此查询:

UPDATE TempRH T 
    JOIN (
           SELECT offices_id,MAX(Poids)AS Poids
           FROM TempRH  
           GROUP BY 
                  offices_id
          )T1
    ON T1.offices_id=T.offices_id
    SET T1.Poids=0
但在执行时,它会给出一个错误:

#1288-The target table T1 of the UPDATE is not updatable.

有什么解决办法吗?

在我看来,一个小小的改变就能解决这个问题吗

UPDATE TempRH T 
    JOIN (
           SELECT offices_id,MAX(Poids)AS Poids
           FROM TempRH  
           GROUP BY 
                  offices_id
          )T1
    ON T1.offices_id=T.offices_id
    SET T.Poids=0 

T1.poid
更改为
T.poid
。因此,您
表上设置了一个要
更新的值

,似乎
TempRH
是不可更新的。还有什么要知道的?@JakeGould我更新了我的问题。@user3014966。告诉我们你真正想做什么。该查询工作将在表的每一行中放置POID=0。您如何使用MAX(POID)?您无法更新agregation结果您正在尝试更新您要加入的表,而不是您指定要更新的表。这仍然会将表中所有行的POID设置为0,但这可能是他想要的:)。这可以通过
updatetemprh Set poids=0轻松完成我没有考虑这一点,因为我立即明白了为什么表不能更新。但是是的,你是对的Filipe:)我想说一个
拥有计数(POID)>一个_数
在这个查询中是有意义的,否则,只需像你说的那样设置
POID=0