mysql-----触发器

一、关于触发器

mysql从5.0.2版本开始支持触发器的功能。触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。

二、触发器相关操作

2.1 创建触发器

创建触发器的语法:

CREATE TRIGGER trigger_name trigger_time trigger_event 

ON tbl_name FOR EACH ROW

trigger_stmt

通用语句:

CREATE TRIGGER 触发器名

after/before insert/update/delete on 表名

FOR EACH ROW  #这一句在mysql中是固定的

BEGIN

sql语句;

END;

注意:触发器只能创建在永久表(permanent table)上,不能对临时表(temporary table)上创建触发器

其中trigger_time是触发器的触发时间,可以使BEFORE或者AFTER,BEFORE的含义指在检查约束前触发,而AFTER是在检查约束后触发。

而trigger_event 就是触发器的触发事件,可以是INSERT,UPDATE或者DELETE。

对同一个表相同触发事件的相同触发事件,只能定义一个触发器。例如,对某个表的不同字段的AFTER更新触发器,在使用oracle数据库的时候,可以定义成两个不同的UPDATE触发器,更新不同的字段是触发单独的触发器,但是在mysql数据库中,只能定义一个触发器,在触发器中通过判断更新的字段进行对应的处理。

使用别名OLD和NEW来引发触发器发生变化的记录内容,这与其他的数据库是相似的。现在触发器还支持行级触发,不支持语句级触发。

详细介绍可以参考博客: mysql之触发器trigger

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值