当前位置:   article > 正文

mysql系统触发器_MySql触发器

触发器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记录,分别代表修改前后的记录

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号