Mysql触发器

DROP TRIGGER IF EXISTS tr_t_fmc_ss;

create trigger tr_t_fmc_ss

    AFTER UPDATE(可以是insert或delete) on t_fmc_ss(表名)

   for each row begin

       #主场玩家id

      DECLARE zuserId VARCHAR(30);

      #客场玩家id

      DECLARE kuserId VARCHAR(30);

   #判断比赛是否结束

   if old.jd=3 THEN

    #给定义的变量赋值

      SET zuserId= (SELECT x.USERID FROM t_fmc_wjxx x where x.qdbm=old.zcqdbm);

      SET kuserId= (SELECT x.USERID FROM t_fmc_wjxx x where x.qdbm=old.kcqdbm);

     #向主场球队发送比赛信息

 INSERT INTO `t_fmc_xx`(RQ,BT,NR,DQZT,XXLX,FJRID,SJZID,SJRID,SCZT,FJRXM,UPOBJECTID,SJRXM)

     VALUES (DATE_FORMAT(SYSDATE(),'%Y%m%d%h%m%s'),'比赛信息',old.scbm, '1', '4', '', null, zuserId, '1', '', null, '');

   END IF;              

end;



功能:当更新表t_fmc_ss表中的数据后(如果是在之前则将after改为before),如果跟新的那条数据中字段jd=3,则向表t_fmc_xx中插入一条信息

注:

如果是向一张表插入数据时,触发向类外一张表插入数据,要取得插入数据某个字段值,将old改为new ,old 用于update或delete,insert要用new