MySQL创建触发器对此查询不太有效

时间:2012-01-18 08:22:59

标签: mysql triggers

我创造了一个触发器,至少,我正在尝试。但我的查询不太有用。我在这里错过了什么? 触发器内部的查询完全依赖于它自己:

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 个答案:

答案 0 :(得分: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 :(得分: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);