2012-06-04 45 views
0

SQL错误我输入这个代码到MySQL,它给了一个错误:上创建触发器


CREATE TRIGGER delete_vote_topic BEFORE DELETE ON vote_topic 
    FOR EACH ROW BEGIN 
    DELETE FROM vote_option WHERE vote_topic_id = OLD.id; 
    DELETE FROM vote_option_votes WHERE vote_topic_id = OLD.id; 
    END; 

的错误是:

#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 3

任何人知道我在做什么错?

回答

2

尝试使用分隔符

delimiter | 

CREATE TRIGGER delete_vote_topic BEFORE DELETE ON vote_topic 
FOR EACH ROW 
BEGIN 
    DELETE FROM vote_option 
    WHERE vote_topic_id = OLD.id; 
    DELETE FROM vote_option_votes 
    WHERE vote_topic_id = OLD.id; 
END; 

| 
+0

哇它的工作。你能解释为什么吗? –

+0

请参阅[这里](http://stackoverflow.com/a/1346645/575376) –

+0

好的......谢谢:) –