У меня есть таблица, называемая элементами с столбцами «itemID» и «parentID», где parentID - это идентификатор из другой строки в таблице. Я хочу удалить строки, где parentID-строка больше не существует.Mysql удалить строку, где родитель не существует
Это то, что я придумал:
DELETE FROM items
WHERE (SELECT COUNT(1)
FROM items as parent
WHERE items.parentID=parent.itemID)=0
Но я получаю следующее сообщение об ошибке: Вы не можете указать целевые таблицы «элементов» для обновления в ЕКЕ
EDIT: его было бы неплохо, если бы элементы, связанные с элементами, удаленными этим запросом, также были удалены по запросу, возможно ли это в sql или я должен его закодировать?
Спасибо, это работает отлично! Я напишу функцию, которая повторно запускается до тех пор, пока не удастся удалить больше элементов. – user2481664