MySql触发器

简介:触发器是由mysql的基本命令事件来触发某种特定操作,这些基本命令由增,删,改操作等事件来触发某些特定操作。满足触发器的触发条件
     时,数据库系统就会自动执行触发器中定义的程序语句,可以令某些操作之间的一致性得到协调。
一:创建mysql触发器
       在mysql中创建只有一条执行语句的触发器的形式如下。
       create trigger 触发器名称 before|after 触发事件
        on 表名 for each row 执行语句;
      具体参数说明:
       a:触发器名---指定要创建的触发器的名称
       b:参数before|after指定触发器执行的时间,before指在触发事件之前执行触发语句,after指在触发事件之后执行触发语句。
       c:触发事件参数指定数据库操作触发条件,包括insert,update,delete
       d:表名----指触发时间操作的表
       e:for each row表示任何一条记录上的操作满足触发事件都会触发该触发器。
       f:执行语句指触发器被触发后执行的语句。
例如:
       创建一个触发器,当在student表中执行插入操作前,向timelog表中自动插入系统当前时间
 create trigger auto_save_ime before insert on student
 for each row
 insert into timelog(save_time) values(now());
二:创建多条执行语句的触发器
       创建语句为:
 create trigger 触发器名 before|after 触发事件
 on 表名 for each row
                begin
  执行语句
 end
 将要执行的多条语句放入begin...end之间,多条语句之间需要用“;”隔开。
注意:一个表在相同的时间和相同的触发事件只能创建一个触发器。
三:在行级触发器中,用:new 和:old(称为伪记录)来访问数据变更前后的值。
 但要注意,INSERT语句插入一条新记录,
 所以没有:old记录,而DELETE语句删除掉一条已经存在的记录,
 所以没有:new记录。UPDATE语句既有:old记录,也有:new记录,分别代表修改前后的记录
posted @ 2018-12-10 10:57  模拟素素  阅读(1167)  评论(0编辑  收藏  举报