Mysql 删除-我无法指定目标表?

Mysql 删除-我无法指定目标表?,mysql,mysql-error-1093,Mysql,Mysql Error 1093,为什么这个查询不起作用 DELETE FROM recent_edits WHERE trackid NOT IN (SELECT DISTINCT history.trackid FROM history JOIN recent_edits ON history.trackid=recent_edits.trackid GROUP BY recent_edits.trackid) 我收到这样一条消息:您不能在FROM子句中为更新指定目标表最近的\u编辑

为什么这个查询不起作用

DELETE FROM recent_edits 
WHERE trackid NOT IN 
     (SELECT DISTINCT history.trackid 
     FROM history JOIN recent_edits ON history.trackid=recent_edits.trackid 
     GROUP BY recent_edits.trackid)
我收到这样一条消息:您不能在FROM子句中为更新指定目标表最近的\u编辑

DELETE FROM recent_edits 
WHERE trackid NOT IN 
     (select * from (SELECT DISTINCT history.trackid 
     FROM history JOIN recent_edits ON history.trackid=recent_edits.trackid 
     GROUP BY recent_edits.trackid) as t);

无法对锁定删除的表进行后期处理。Nicola说,使用hack select*from查询将生成一个临时表,而不是直接访问


编辑-确保为您使用的表提供ID,因为它是嵌套的,并且每个表都需要唯一的ID。

@Augusto:很高兴您发现它很有用。你的回答也是对的这需要一个解释。在我的例子中,相同的表和相同的表子查询对我来说很好。谢谢你为我度过了这一天。谢谢