我在我的数据库中有一个表story_category
,包含损坏的条目。接下来的查询将返回损坏的项目:MySQL错误1093 - 无法在FROM子句中指定更新的目标表
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
我如何克服这个问题?
相关:http://stackoverflow.com/a/14302701/238419 – 2013-02-22 18:10:06
好像MySQL错误跟踪器中的功能请求位于:[无法更新表并从子查询中的同一个表中选择](https://bugs.mys ql.com/bug.php?id=23353) – 2017-12-30 06:32:26