繁体   English   中英

删除别名为 MySQL 的子查询

[英]Delete subquery with alias MySQL

这个删除查询有问题:

DELETE r 
FROM table AS r 
WHERE r.stoptime IS NULL 
  and r.address IN 
    (select address from table where starttime <= r.starttime and stoptime > r.starttime) 

我收到以下错误:

错误:您无法在 FROM 子句中为更新指定目标表“r”。

我的目标是删除开始时间包含在另一条记录中的记录,但我在子查询中遇到别名错误。

有人知道怎么做吗? 提前致谢。

尝试像这样使用 JOINS:

 DELETE r
  FROM `table` r 
  JOIN `table` t ON t.id = r.id
 WHERE t.starttime <= r.starttime and t.stoptime > r.starttime
   AND r.stoptime IS NULL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM