Я пытаюсь создать триггер для базы данных, используя пакет mysql для nodejs.Но я получаю сообщение об ошибке:
В вашем синтаксисе SQL есть ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с \ 'DELIMITER $$ CREATE TRIGGER' NotificationTrigger 'После INSERT ON' Оставить \ 'в строке 1'.
var createNotificationTrigger = {
query:
'DELIMITER $$\
CREATE TRIGGER `NotificationTrigger` \
After INSERT ON `Leave` \
FOR EACH ROW \
BEGIN \
Declare fullname varchar(255); \
Declare lastname varchar(255); \
Declare requestedbyid int; \
Declare insertstring varchar(255); \
Set fullname = ( select Employee.FirstName from Employee where Employee.ID = NEW.RequestedByID); \
Set lastname = ( select Employee.LastName from Employee where Employee.ID = NEW.RequestedByID); \
set fullname = (select Concat(fullname," ",lastname)); \
set requestedbyid= (select New.RequestedByID); \
set insertstring = (select Concat("New Leave request from ",fullname , " employee id : ",requestedbyid)); \
INSERT INTO `Notification` \
(`Title`,`SeenBy`,`SentByID`,`NotificationTypeID`) \
VALUES(insertstring, requestedbyid, requestedbyid,2) ; \
END$$ \
DELIMITER ;'
};
Так выглядит мой триггерный запрос.Я выполняю это, используя:
connection.query(createNotificationTrigger.query,[],(err)=>{//something here});
Это должно создать триггер в моей базе данных, но вместо этого выдается ошибка, упомянутая выше.Запрос отлично работает в MySQL верстаке.