Я новичок в MySQL, и у меня возникли проблемы с преобразованием оператора SQL, и мне нужна помощь, если это вообще возможно.
Суть в том, что мне нужно иметь возможность удалять элементы из одной таблицы на основе даты последнего входа в систему, к сожалению, я не контролирую дизайн таблицы (который ошибочен) и должен сравнивать идентификатор персонажа с символом UID и датой LastLogin, чтобы для удаления элементов из другой таблицы, которая отслеживает объекты только по charcaterID (неуникальному).
Вот что у меня есть до сих пор
DELETE FROM object_data WHERE CharacterID IN (
SELECT CharacterID FROM object_data
WHERE CharacterID IN (
SELECT CharacterID FROM character_data
WHERE LastLogin < DATE_SUB(NOW(), INTERVAL 30 DAY)
AND PlayerUID NOT IN (
SELECT PlayerUID FROM character_data
WHERE LastLogin > DATE_SUB(NOW(), INTERVAL 30 DAY))))
Я получаю сообщение об ошибке 1093. Вы не можете указать целевую таблицу «object_date» из обновления в предложении FROM.
Любые идеи?