2012-01-18 32 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);