Ранее я делал удаление каскадным удалением, вот так:
ALTER TABLE `tree`
ADD CONSTRAINT `tree_parent` FOREIGN KEY (`parent`) REFERENCES `tree` (`id`) ON DELETE CASCADE;
Но узнал что есть дерево больше 15 строк то выскакивает ошибка #3008 - Foreign key cascade delete/update exceeds max depth of 15.
Мне нужно написать триггер который будет удалять полностью дерево, подскажите пожалуйста код триггера, триггер ниже не работает, ошибка #1442 - Can't update table 'delivery2' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
CREATE TRIGGER `tree_parent` BEFORE DELETE ON `tree`
FOR EACH ROW DELETE FROM tree WHERE parent = old.id