Я столкнулся с проблемой, пытаясь очистить данные из таблицы MySQL.Проблема в том, что нам нужно использовать таблицу в подзапросе, чтобы определить, что нужно удалить.
DELETE
FROM dates
WHERE event_ref IN (*list of event_refs*)
AND person_ref IN (
SELECT person.person_ref
FROM person
JOIN dates ON dates.person_ref = person.person_ref AND dates.event_ref = 14
WHERE dates.date < CURDATE()
)
Subquery
дает всем людям дату раньше, чем сегодня.Список ссылок на события - это список событий, которые мы хотим удалить, и которые исключают event_ref = 14
. Обработка запроса как SELECT возвращает все, что мы хотим удалить, но MySQL жалуетсяпри попытке использовать удаление.
Я действительно не хочу вдаваться в подробности создания представления для ссылки на приведенный выше запрос, поскольку очистка является одноразовым событием