2010-04-21 4 views
0

У меня есть этот код (MySql 5.1.36)триггер проблемы в базе данных MySql

CREATE TRIGGER problem_description AFTER INSERT ON problem_description 
FOR EACH ROW BEGIN 
INSERT INTO log SET Id=NEW.Id,user_name=NEW.user_name; 
END; 

и эта ошибка:

# 1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии сервера MySQL, для правильного синтаксиса для использования рядом с '' по строке 3

ответ

0

Для некоторых старых phpMyadmin и MySQL вы не можете использовать стандартное создание триггеров. Мой вопрос:

http://stackoverflow.com/questions/4289502/trigger-to-track-changes-in-mysql-databse 

У меня была та же проблема. вам нужно удалить разделитель и инструкции начала/конца. триггер будет выглядеть somehting как:

DROP TRIGGER IF EXISTS problem_descripter; 
CREATE TRIGGER problem_descriptor AFTER insert ON problem_description 
FOR EACH ROW 
insert into log (Id, user_name) 
values(NEW.Id, NEW.user_name); 
0

Когда вы получите это сообщение об ошибке? Когда вы создаете триггер? Возможно, вам понадобится использовать другой разделитель; когда вы создаете триггер.

delimiter // 
create trigger problem_descriptor after insert on problem_description 
    for each row begin 
     insert into 
      log 
     set 
      `Id`=NEW.`Id`, 
      `user_name`=NEW.`user_name`; 
    end; 
// 
delimiter ; 
+0

Я получаю это сообщение при создании триггера – Ognjen

+0

я использую WAMP сервер и после того, как поместить ваш код PHPMYADMIN заблокирован – Ognjen

Смежные вопросы