> 1093 - You can't specify target table 'hr_advertise' for update in FROM clause
时间: 2024-08-14 16:04:10 浏览: 116
mysql中错误:1093-You can’t specify target table for update in FROM clause的解决方法
5星 · 资源好评率100%
错误消息 "You can't specify target table 'hr_advertise' for update in FROM clause" 出现于SQL查询中,当你试图在一个FROM子句中对表`hr_advertise`执行更新操作(如UPDATE或DELETE)时。在SQL语法中,FROM子句用于指定数据来源的表,而在这个特定的上下文中,不允许直接在FROM部分对目标表进行修改。
通常情况下,你应该先明确地选择你要操作的表,然后在SELECT、JOIN或其他相关的操作后对选定的行进行更新。例如:
```sql
UPDATE hr_employee
SET salary = new_salary
FROM hr_advertise a
INNER JOIN hr_employee e ON a.advertisement_id = e.advertisement_id;
```
这里,`hr_employee`表被选为实际更新的目标,而不是`hr_advertise`表。
阅读全文