You can't specify target table 'a' for update in FROM clause
时间: 2023-08-16 18:04:26 浏览: 114
Specify块-verilog数据类型及应用
这个错误是由于 MySQL 不允许在 UPDATE 查询语句中直接使用子查询中的表,你可以使用临时表或者嵌套查询来解决这个问题。以下是一个使用嵌套查询的示例:
```
UPDATE a SET a.column_name = 'new_value'
WHERE a.id IN (SELECT id FROM (SELECT id FROM a) AS temp_table);
```
这个查询中,我们先使用子查询创建一个临时表,然后在外部查询中使用这个临时表进行更新操作。这样就可以避免直接在 UPDATE 查询语句中使用子查询中的表导致的错误了。
阅读全文