如何更新嵌套查询中使用的表?

时间:2017-07-07 12:57:00

标签: mysql

我正在尝试更新表并收到以下错误消息:

  

您无法在FROM子句

中为更新指定目标表'nodeassociation'

这与更新在嵌套或内部子查询中使用的表有关。

这是我的SQL查询:

UPDATE nodeassociation 
SET sink_node_id = 11608 
WHERE sink_node_entity = 'WorkflowScheme' 
  AND source_node_id IN (SELECT source_node_id
                         FROM nodeassociation 
                         WHERE SINK_NODE_ENTITY = 'WorkflowScheme' 
                           AND sink_node_id = 11604 
                           AND SOURCE_NODE_ID IN (SELECT source_node_id
                                                  FROM nodeassociation 
                                                  WHERE association_type = 'ProjectCategory' 
                                                    AND sink_node_id = 11400));

内部查询分别运行正常。

有人可以告诉我如何修复此查询吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以从子选择中创建临时表,然后在更新中使用它。