解决方案 »

  1.   

    触发器不能在内部更新触发的表你可以单独建立别的表存储count,这样是可以的
      

  2.   

    在 before update 中可以使用如下语句set new.count=old.count+1
      

  3.   

    delimiter $$
    create trigger tri_tri before update on tri
    FOR EACH ROW BEGIN 
    if(NEW.type != OLD.type) then
    set NEW.count = OLD.count + 1;
    end if;
    end $$
      

  4.   

    语句里面的 type 改成你需要的flag  
    表名 tri 改成你需要的 a
      

  5.   

    count必须有默认值吧,可以设置
    count  int  not  null  default  0;
    也可以用insert triggerdelimiter //
    -----------------------------------------------
    create trigger tri_insert before insert on table_name for each row begin
    NEW.count = 1;
    end //
    ----------------------------------------------- update trigger , 同6楼
    create trigger tri_update begore update on table_name for each row begin
    if (new.flag != old.flag) 
      then set new.count = old.count + 1;
    end if;
    end //
    -----------------------------------------------
    delimiter ;未经验证,可能有错。