Задавайте вопросы, мы ответим
Вы не зашли.
Приветствую всех!
У меня возникли проблемы с триггером.
В общем задача такова - нужно для того поля таблици t, которое менялось (редактировалось), значение параметра m сделать нулевым.
Триггер:
CREATE TRIGGER r.update_t
AFTER UPDATE ON r.t
FOR EACH ROW
BEGIN
UPDATE r.t
SET NEW.m = 0
WHERE k = NEW.k OR p= NEW.p OR n= NEW.n;
END;
В результате, выводит такую ошибку:
#1442 - Can't update table 't' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Может у кого-то были похожие проблемы или есть какие-то идеи, буду очень благодарна за помощь.
Отредактированно Fajn (19.03.2010 19:24:07)
Неактивен
Если m — это колонка, то хватит и простого
SET NEW.m = 0;
Неактивен
paulus написал:
Если m — это колонка, то хватит и простого
SET NEW.m = 0;
Да, m — это колонка, но такое действие неприемлемо. Дело в том, что триггер должен срабатывать лиш в тех случаях, когда редактируются поля k ИЛИ p ИЛИ n. Во всех других (в таблице 7 полей) информация записуется без изменения значения параметра m.
Неактивен
Неактивен