【问题标题】:MySQL create trigger doesn't quite work for this queryMySQL 创建触发器不适用于此查询
【发布时间】:2012-01-18 08:22:58
【问题描述】:

我创建了一个触发器,至少,我正在尝试。但我的查询不太有效。我在这里想念什么? 触发器内部的查询完全可以自己运行:

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

【问题讨论】:

    标签: mysql triggers


    【解决方案1】:
    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 ;
    

    【讨论】:

      【解决方案2】:

      你也可以用这个-

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-07
        • 1970-01-01
        • 2020-11-22
        • 2011-02-03
        • 2016-09-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多