Как создать триггеры, используя пакет mysqljs для nodejs? - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь создать триггер для базы данных, используя пакет 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 верстаке.

...