Задавайте вопросы, мы ответим
Вы не зашли.
в таблице есть несколько полей, в том числе interf_id, interf_level и parent_id (указывает на предка)
Так вот, при вставке нужно высчитывать значение interf_level на основе предка + 1;
Пробовал несколькими способами:
CREATE TRIGGER `dbname`.`before_insert_interfaces`
BEFORE INSERT ON `interfaces`
FOR EACH ROW SELECT interf_level+1 AS new_level INTO new.interf_level FROM interfaces WHERE interf_id = new.parent_id;
Пишет - ERROR 1327 (42000): Undeclared variable: new
Пробовал так:
CREATE TRIGGER `dbname`.`before_insert_interfaces`
BEFORE INSERT ON `interfaces`
FOR EACH ROW SET new.interf_level = SELECT interf_level+1 AS new_level FROM interfaces WHERE interf_id = new.parent_id;
Пишет - ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
Как мне реализовать триггер?
Неактивен
Это нужно внутри триггера сделать несколько операций (придется создать специальную переменную; new.колонка для этого не подходит). Для понадобятся BEGIN ... END, а также смена разделителя.
Неактивен