如何创建触发器以将新用户详细信息插入另一个表?

时间:2012-02-28 19:30:42

标签: mysql sql triggers user-registration

我试图将外部论坛脚本(SMF)与我的网站“同步”。 这意味着,当用户在我的网站中注册时,触发器会在外部论坛成员表中插入用户详细信息(用户名,密码和电子邮件)。 像这样的东西,但它错了,sql错误。

CREATE TRIGGER forumReg 
AFTER INSERT ON hotaru_users 
FOR EACH ROW
BEGIN
    INSERT INTO forum_members (member_name, email_address, passwd)
    VALUES (NEW.user_username, NEW.user_email, NEW.user_password);
END

hotaru_users是我的网站用户表, forum_members是外部论坛用户表, 两个表都在同一个mysql数据库中

错误

Erro

consulta SQL:

CREATE TRIGGER forumReg AFTER INSERT ON hotaru_users
FOR EACH
ROW
BEGIN
INSERT INTO forum_members( member_name, email_address, passwd )
VALUES (
NEW.user_username, NEW.user_email, NEW.user_password
);

Mensagens do MySQL : Documentação
#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 '' at line 6 

1 个答案:

答案 0 :(得分:1)

删除BEGINEND

CREATE TRIGGER forumReg 
AFTER INSERT ON hotaru_users 
FOR EACH ROW
    INSERT INTO forum_members (member_name, email_address, passwd)
    VALUES (NEW.user_username, NEW.user_email, NEW.user_password);

或更改用于创建触发器的分隔符:

DELIMITER $$
CREATE TRIGGER forumReg 
AFTER INSERT ON hotaru_users 
FOR EACH ROW
BEGIN
    INSERT INTO forum_members (member_name, email_address, passwd)
    VALUES (NEW.user_username, NEW.user_email, NEW.user_password);
END 
$$
DELIMITER ;
相关问题