首页 文章

您可以't specify target table ' ...'在FROM子句中进行更新

提问于
浏览
0

我想在一个表上用查询结果进行更新,并且表中存在记录,我的SLQ是:

UPDATE reparticion SET responsable_nombre_completo =(选择CONCAT_WS(',',persona.nombre,persona.apellido)FROM persona INNER JOIN usuario on usuario.cuil = persona.cuil)WHERE reparticion.id IN(select persona.reparticion_id FROM persona INNER JOIN usuario on usuario.cuil = persona.cuil INNER JOIN reparticion on reparticion.id = persona.reparticion_id);

但是我收到以下错误:

您不能在FROM子句中为更新指定目标表'reparticion'

1 回答

  • 1

    更好的方法是使用 join update 而不是 sub-queries .

    update reparticion r
    join persona p on p.reparticion_id = r.id
    join usuario u on u.cuil = p.cuil
    set r.responsable_nombre_completo = CONCAT_WS(',',p.nombre,p.apellido)
    

相关问题