You can't specify target table 't_product_sup_cost' for update in FROM clause
时间: 2024-03-08 07:41:55 浏览: 68
mysql中You can’t specify target table for update in FROM clause错误解决方法
这个错误通常是由于在MySQL中更新语句中使用了子查询,而子查询中又涉及到了要更新的表,导致MySQL无法确定要更新的表。解决这个问题的方法是使用临时表来存储子查询的结果,然后再进行更新操作。以下是一个示例代码:
```mysql
CREATE TEMPORARY TABLE temp_table
SELECT * FROM t_product_sup_cost WHERE ...
UPDATE t_product_sup_cost
SET ...
WHERE id IN (SELECT id FROM temp_table)
```
其中,`temp_table`是一个临时表,用于存储子查询的结果。在更新操作中,我们使用`IN`关键字来指定要更新的行,这样就可以避免在子查询中使用要更新的表了。
阅读全文