【问题标题】:sql error on creating a trigger创建触发器时出现sql错误
【发布时间】:2012-06-04 10:23:08
【问题描述】:

我在 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 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 '' 附近使用正确的语法

有人知道我做错了什么吗?

【问题讨论】:

    标签: mysql triggers sql-delete


    【解决方案1】:

    尝试使用分隔符

    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;
    
    |
    

    【讨论】:

      猜你喜欢
      • 2015-10-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 2011-06-27
      • 1970-01-01
      • 2018-08-25
      相关资源
      最近更新 更多