解決できない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