Я хочу быть уверенным, что в моем списке нет детей детей.Поэтому, если у меня есть родительский элемент A и дочерний элемент B (B.parent = A), и я пытаюсь вставить дочерний элемент C в элемент B (C.parent = B), этот триггер должен предотвратить его иустановите parent_id для C на A (C.parent = A).Мне нужно только 2 уровня в моей таблице (родитель-ребенок) и никаких дедушек.
Вот мой образец, который не работает:
DELIMITER //
CREATE TRIGGER parent_control BEFORE insert ON reports
FOR EACH ROW BEGIN
IF new.parent_id is not null THEN
set @parent_parent_id = new.parent_id;
SELECT parent_id FROM reports INTO parent_parent_id WHERE report_id = new.parent_id;
IF @parent_parent_id is not null THEN
SET new.parent_id = @parent_parent_id;
END IF;
END IF;
END;
Он говорит: # 1327 -Необъявленная переменная: parent_parent_id