#mysql #fetch #sql-delete
#mysql #извлечение #sql-удалить
Вопрос:
У меня есть две категории таблиц (иерархическая структура) и вложение, которые имеют отношения друг к другу.
delete from category where lft between @left and @right;
и я хочу удалить из вложения, которое относится к этой категории!
Что мне делать?
Ответ №1:
Попробуйте:
delete c,a category c
join attachment a on c.id=a.category_id
where c.lft between @left and @right
Ответ №2:
Я бы предложил использовать ИСХОДНЫЕ КЛЮЧИ с ограничениями InnoDB MySQL и внешнего ключа и определить опцию КАСКАДНОГО УДАЛЕНИЯ для ключа, который связывает категории и таблицы вложений.
Второй просто DELETE FROM attachments WHERE category_id BETWEEEN @left AND @right;