问题一:
DELIMITER //
CREATE EVENT e_hourly
ON SCHEDULE
EVERY 1 SECOND
DO
BEGIN
  if(tab1.num>1) then
 update tab1 set num=num-1 WHERE tab1_id='1';
  end if;
END;
这里好像有问题。if(tab1.num>1)。字段num是整型int(11) 值是68>1。照道理说,if(tab1.num>1) <==> if(true)
事实,是行不通。我换成if(true)来执行。就是执行到更新语句。
不知道这是为什么?
问题二:
tab1表有很多数据,那么我怎么根据tabl1.NO,来插入相应数据到tab2表。
怎么一个遍历tab1。

解决方案 »

  1.   

    if(tab1.num>1)。字段num是整型int(11) 值是68>1你的表中这么多条记录? 你怎么能确定 tab1.num = 68 呢?
    你需要先通过语句取到这个值。DELIMITER //
    CREATE EVENT e_hourly
    ON SCHEDULE
    EVERY 1 SECOND
    DO
    BEGIN
      declare kk int;
      select num into kk from tab1 limit 1;
     if(kk>1) then
     update tab1 set num=num-1 WHERE tab1_id='1';
     end if;
    END;
      

  2.   

    楼主需要先学习一下MYSQL的基础,然后再动手。否则这些概念性的东西如果不了解掌握的话,根本无法继续。建议先花12个小时,浏览一下文档中的相关部分。
    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    因为目前tab1表的字段num值是68.
      

  4.   

    因为目前tab1表的字段num值是68.