2012-01-18 64 views
-1

我创建了一个触发器,至少我正在尝试。但我的查询不太有效。我在这里错过了什么? 触发器内查询工作完全在它自己的:MySQL创建触发器对此查询不起作用

INSERT INTO user_signup_log (user_id) VALUES (4) 

这是我的触发查询:

DELIMITER $$ 
    CREATE TRIGGER user_signup_trigger BEFORE INSERT ON site_users 
    FOR EACH ROW BEGIN 
     INSERT INTO user_signup_log (user_id) VALUES (NEW.user_id) 
    END; 
$$ 
DELIMITER ; 

我得到的错误:

#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 'END' at line 4 

我跟着从指令另一个关于如何创建触发器的问题在这里stackoverflow。而且我还能够创建一个具有类似查询的不同触发器,并且该工具可以工作。你可以找到一个在另一个question, which is still unanswered

回答

2
DELIMITER $$ 
    CREATE TRIGGER user_signup_trigger BEFORE INSERT ON site_users 
    FOR EACH ROW 
    BEGIN 
     INSERT INTO user_signup_log (user_id) VALUES (NEW.user_id); 
    END $$ 
DELIMITER ; 
1

您也可以使用这一个 -

CREATE TRIGGER user_signup_trigger BEFORE INSERT ON site_users 
FOR EACH ROW 
    INSERT INTO user_signup_log (user_id) VALUES (NEW.user_id);