mysql之You can’t specify target table for update in FROM clause错误

You cannot update a table and select directly from the same table in a subquery.

mysql官方文档中有这句话,我们不能在一个语句中先在子查询中从某张表查出一些值,再update这张表。

比如:

mysql> UPDATE items<br>SET<br>  retail = retail * 0.9<br>WHERE<br>  id IN (<br>    SELECT<br>      id<br>    FROM<br>      items<br>    WHERE<br>      retail / wholesale >= 1.3<br>      AND quantity > 100<br>  );<br><br>