希望在A表insert之后,触发B表的insert操作和更新A表字段num--操作。
上面触发,还有一个小小的要求,如果A表的字段num不等于0,那么触发器到某个时间段还是会自动触发B表的insert操作和更新A表字段num--操作。

解决方案 »

  1.   

    详细说明
    before insert
    if new.num<>0
    insert into b ...
    update b set ...
    end if
      

  2.   


    触发器是指在INSERT的同时触发, 
    到某个时间段 则不是触发器,而是定时执行了。这个需要使用 event.
      

  3.   

    关于定时执行任务下贴中有一些不同的方法。http://topic.csdn.net/u/20091020/22/c51bb709-6dbc-4fd1-b874-077714ed547e.html
      

  4.   

    我用的是5.1.26版本
    语句是
    CREATE EVENT e_hourly
    ON SCHEDULE
    EVERY 1 HOUR
    COMMENT 'Clears out sessions table each hour.'
    DO
    -- DELETE FROM site_activity.sessions;
    update tab1 set num=num+1;
    为什么一个小时都没有执行更新
      

  5.   

    我用的是5.1.26版本
    语句是
    CREATE EVENT e_hourly
    ON SCHEDULE
    EVERY 1 HOUR
    COMMENT 'Clears out sessions table each hour.'
    DO
    -- DELETE FROM site_activity.sessions;
    update tab1 set num=num+1;
    为什么一个小时都没有执行更新
      

  6.   


    贴出你的 show events;另外你的EVENT功能打开了吗?
    贴出你的 show variables like '%sc%';希望你能认真看一下 = #4楼给你的LINK。
      

  7.   

    DELIMITER //
    CREATE EVENT e_hourly
    ON SCHEDULE
    EVERY 1 MINUTE
    DO
    BEGIN
      if(num!=0) then
    update tab1 set num=num-1 WHERE tab1_id='1';
      end if;
    END;
    请问一下,为什么这样不会执行了?