【问题标题】:problem in creating a trigger创建触发器的问题
【发布时间】:2011-02-15 18:26:06
【问题描述】:

我在创建触发器时遇到问题,我不确定为什么会出错。请您帮帮我。

我写了一个下面提到的触发器,它在尝试执行触发器时给了我这个错误......

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 'DECLARE store_itemid INTEGER; 附近使用正确的语法; store_hostid 整数; store_desc VARCHAR(255);'在第 4 行

代码:

mysql> delimiter //
   CREATE TRIGGER init_trigger 
   AFTER INSERT ON test_trigger
   FOR EACH ROW
   DECLARE 
     store_itemid INT;
     store_hostid INT;
     store_desc VARCHAR(255);
     store_key VARCHAR(255);
     store_lastvalue VARCHAR(255);
     store_lastclock VARCHAR(255);
     store_preval INT;
     store_status INT;
   BEGIN

     SELECT itemid into store_itemid,
            hostid into store_hostid,
            description into store_desc,
            key_ into store_key,
            lastvalue into store_lastvalue,
            lastclock into store_lastclock,
            prevvalue into store_preval,
            status into store_status 
       FROM test_triggers 
      WHERE lastvalue > 80;

     IF store_lastvalue > 80 THEN
        INSERT INTO test_triggers1 
          (itemid,hostid,description,key,lastvalue,lastclock,prevvalue,status) 
        VALUES
          (store_itemid,store_hostid,store_desc,store_key,store_lastvalue,store_lastclock,store_preval,store_status);

     END IF;
   END;
   // 

【问题讨论】:

  • 你应该在这里发布你的问题,而不是其他地方的链接

标签: mysql sql triggers mysql-error-1064


【解决方案1】:

你必须在“ROW”之后添加“BEGIN”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多