You can't specify target table 'p_user' for update in FROM clause
时间: 2024-03-08 16:41:00 浏览: 77
mysql中You can’t specify target table for update in FROM clause错误解决方法
这个错误信息是由MySQL引擎生成的,意思是在FROM子句中不能指定目标表。这通常是由于在更新查询中使用了子查询,并且子查询引用了需要更新的表。解决这个问题的方法是使用临时表来存储子查询的结果,然后再更新目标表。
以下是一个解决方法的示例:
```
UPDATE p_user SET status = 1 WHERE id IN (SELECT * FROM (SELECT id FROM p_user WHERE status IS NULL) AS temp);
```
请注意,在这个示例中,我们使用了一个嵌套的子查询,并将其结果保存在一个临时表(temp)中。然后,我们在外部查询中使用了这个临时表来更新目标表(p_user)的数据。
希望这个解决方法对你有帮助。
阅读全文