MySQL:如何在单个查询中在同一个表中进行选择和删除?

时间:2014-04-07 13:31:10

标签: mysql

如何在单个查询中在同一个表中进行选择和删除?

当我尝试:

DELETE
FROM comment
WHERE comment_id =
(select comment_id from comment where parent_id = 0 group by autor_id, user_id, resource_id, comment_body HAVING COUNT(*) > 1);

我收到错误消息:#1093 - 您无法指定目标表'评论'用于FROM子句中的更新

WHERE comment_id IN

向我发送相同的错误

注意:我不能使用2个不同的查询,因为我想在事件调度程序中使用它

1 个答案:

答案 0 :(得分:1)

这样的事情可以帮助你。

DELETE 
  c
FROM 
  comment c

  inner join (
    # some select statement that pulls all of your required comments
  ) comment_to_delete on
    comment_to_delete.comment_id = c.comment_id

抱歉,您没有真正关注您在代码中尝试执行的操作