MySQL Update表基于同一个表

时间:2014-10-23 18:53:32

标签: php mysql

我遇到了问题'您无法在条款"中指定更新目标表。我知道这意味着什么,我找到了一些解决方案,但我的语法不起作用,所以我要求帮助。我想要运行的查询是

("UPDATE people SET isAlive = '1' WHERE family = (SELECT family FROM people WHERE person = :person)")

我尝试过使用AS AS和第二个人,但我现在只是难倒了。

1 个答案:

答案 0 :(得分:1)

您可以通过重新连接该表来完成此操作:

UPDATE people p1 
join people p2 on p1.family=p2.family 
SET p1.isAlive = '1' 
where p2.person= :person