LINUX.ORG.RU

mysql trigger нот арбайтен


0

0

Привет всем :) Чот я получил задачу реализовать хреньку для программы по средствам триггеров, для примера - есть таблица hardware, когда туда происходит INSERT то выполняется определенное действие. Но когда я обращаюсь к ячейке memory, которая находится в таблице hardware, то нифига не работает тоесть не выполняется первый INSERT после которого должен сработать триггер:

delimiter ;;
CREATE TRIGGER test BEFORE INSERT ON hardware FOR EACH ROW
BEGIN
INSERT INTO debug SET debug.output = NEW.memory;
END
;;
delimiter ;

Но если не обращатся к таблице hardware то все работает, например:

INSERT INTO debug SET debug.output = 123;

Вот не могу понять, почему так, сообщения об ошибке нету никакого...

если арбайтен то нихт

theos ★★★
()

delimiter ;;
CREATE TRIGGER test BEFORE INSERT ON hardware FOR EACH ROW
BEGIN
FOR EACH ROW
BEGIN
INSERT INTO debug SET debug.output = NEW.memory;
END;
END
;;

например

hizel ★★★★★
()
Ответ на: комментарий от hizel

Хм, ругается он:

#1064 - 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 'FOR EACH ROW BEGIN INSERT INTO debug SET debug.output = NEW.memory; END; END' at line 3

А не мог бы ты объяснить, в чем смысл такой конструкции?

andry_mine
() автор топика

>Но когда я обращаюсь к ячейке memory, которая находится в таблице hardware, то нифига не работает тоесть не выполняется первый INSERT после которого должен сработать триггер:

не распарсил. покажи запрос, который ты выполняешь.

iSage ★★★★
()
Ответ на: комментарий от iSage

запрос прога выполняет, я его не знаю, но как выяснилось триггер работает, тоесть если сделать инсерт руками, то все ок, буду рыть исхожники проги в поисках запроса.

andry_mine
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.