Ошибка MySQL 1093 - Can't specify target table for update in FROM clause

У меня есть таблица story_category содержащая поврежденные записи. Следующий запрос возвращает их:

SELECT * FROM  story_category WHERE category_id NOT IN (
SELECT DISTINCT category.id FROM category INNER JOIN story_category ON category_id=category.id);

Я пытаюсь удалить их с помощью:

DELETE FROM  story_category WHERE category_id NOT IN (
SELECT DISTINCT category.id FROM category INNER JOIN story_category ON category_id=category.id);

но получаю следующее сообщение об ошибке:

#1093 - You can't specify target table 'story_category' for update in FROM clause

Как с этим бороться?

Найдено 10 ответов:

Mysql error 1093 - Can't specify target table for update in FROM clause

http://stackoverflow.com/questions/45494/mysql-error-1093-cant-specify-target-table-for-update-in-from-clause

Посмотреть решение →