2014-02-11 4 views
-1

SQL Query -Trigger ошибка синтаксиса в PhpMyAdmin версии 5.1

CREATE TRIGGER `trigger_insert` AFTER INSERT ON `user` 
    FOR EACH ROW BEGIN 
     INSERT INTO `credentials` (`UserId`,`Password`,`UserType`,`Status`) 
      VALUES (NEW.UserId,NEW.Password,'2',NEW.Status); 
    END; 
DELIMITER ; 

Ошибка -

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

Нужна помощь ... заранее спасибо :) ..

+0

@krishna его спусковой крючок так, как можно определить NEW? –

+0

Я думаю, что вы принимаете значения из таблицы прямо? – krishna

+0

@krishna yupp .. –

ответ

0

В вашем случае вы можете использовать это заявление -

CREATE TRIGGER `trigger_insert` AFTER INSERT ON `user` 
FOR EACH ROW 
INSERT INTO `credentials` (`UserId`,`Password`,`UserType`,`Status`) VALUES (NEW.UserId,NEW.Password,'2',NEW.Status); 

What is the DELIMITER in MySQL and what it’s used for.

+0

спасибо за вашу помощь, но теперь у меня появилась новая ошибка, например:" # 1142 - команда TRIGGER запрещена пользователю '@' localhost 'для таблицы' user '" –

+1

CREATE TRIGGER требует эту привилегию - http: // dev. mysql.com/doc/refman/5.6/en/create-trigger.html. Вам необходимо предоставить его или создать триггер из учетной записи root. – Devart

0

проблемы DELIMITER Я считаю, :

DELIMITER $$ 

CREATE TRIGGER `trigger_insert` AFTER INSERT ON `user` 
FOR EACH ROW BEGIN 
INSERT INTO `credentials` (`UserId`,`Password`,`UserType`,`Status`) VALUES (NEW.UserId,NEW.Password,'2',NEW.Status); 
END$$ 

DELIMITER ; 
+0

Уже пытаюсь получить новую ошибку, например - «# 1064 - У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с« DELIMITER $ $ " –

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