删除别名为 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 子句中为更新指定目标 table '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
我对这个删除查询有疑问:
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 子句中为更新指定目标 table '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