У меня возникла ошибка sql, которую я не могу решить. Мне нужно обновить таблицу несколькими парами соединений. Я попытался сделать это без предложения «in», но это не помогло. Теперь с пунктом, вот запрос у меня есть:SQL Update with join - cant указать TABLE_NAME из раздела
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
Я думаю, что вы можете присоединиться. Обновление - у кого есть ограничение. –