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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值