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