我有一个我无法解决的 sql 错误。我必须用几个连接更新一个表。我尝试在没有“in”子句的情况下这样做,但这没有用。现在使用 in 子句,这是我的查询:
UPDATE sc_module_architect
SET
item_name="Print Cover Price"
WHERE
item_id IN (
SELECT a.item_id
FROM sc_module_architect a
LEFT JOIN sc_module_architect_category_links l on l.item_id=a.item_id
LEFT JOIN sc_module_architect_category c on c.category_content_id=l.content_id
LEFT JOIN sc_content sc on sc.content_id=l.content_id
WHERE item_active=1
AND content_name LIKE "ed_abc_print%"
LIKE item_name LIKE "Cover Price%");
现在运行它时出现错误
/* SQL Error (1093): You can't specify target table 'sc_module_architect' for update in FROM clause */
无法弄清楚为什么会出现这种情况。有任何想法吗?mysql 5.5