我在我的數據庫中有一個表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