SQL语句执行报错:You can't specify target table 'bpm_pro_inst' for update in FROM clause
时间: 2023-12-27 13:02:31 浏览: 84
mysql中You can’t specify target table for update in FROM clause错误解决方法
这个错误是因为在 SQL 语句中使用了子查询,子查询中涉及到了要更新的目标表,而 MySQL 不支持在子查询中更新目标表。可以尝试将子查询中涉及到要更新的目标表的部分改为另外一个临时表或者使用 JOIN 等其他方式实现相同的查询逻辑。例如,可以将子查询中的表用一个临时表存储起来,然后再执行更新操作,类似于以下代码:
```
CREATE TEMPORARY TABLE temp_table AS SELECT * FROM bpm_pro_inst WHERE ...;
UPDATE bpm_pro_inst SET ... WHERE id IN (SELECT id FROM temp_table);
DROP TEMPORARY TABLE temp_table;
```
阅读全文