mysql学习十八之mysql触发器学习,创建、删除、查看触发器,new,old关键字,多条sql语句下的触发器创建

一、什么是触发器?

1、mysql触发器是:在当前的数据库表中设置一个对每行数据的一个监听器,监听相关事件,每当事件发生时。会执行一段由sql完成的一段功能代码。这段功能代码也是sql语句。

2、触发器的元素:

事件,执行代码。

二、创建触发器

create trigger 触发器名字 事件 执行代码;

执行代码就是sql语句或sql语句块。

1、事件内容:

插入:insert 删除:delete  修改:update

事件的时机:执行之前,执行之后。内容和时机组合共有六种事件。

Before insert  ,Before delete ,before update ,after insert ,after delete ,after update.

注意:这个时机,是针对其后表的内容的监控。

比如:

create trigger jiaobanfei after update on t_student 

for each row 

update t_class set t_class_money=t_class_money+20;

此处的after update on是说t_student表的每一行更新后,就立即更新t_class表中的t_class_money字段。

2、具体语法

删除触发器:

drop trigger 触发器名字;

注意事项:

1、触发器不能同名

2、目前mysql只支持一类事件设置一个触发器。

三、管理触发器

1、查看触发器:

show create trigger trigger_name;

2、在触发器中获取触发该触发程序时的数据。

利用触发程序内的new 和old来完成。

注意:insert中不能使用old,delete中不能使用new。

3、多条sql语句下的触发器

sql语句块用begin   end包裹。

整个触发器语句用delimiter包裹。

例如:

delimiter $$
    create trigger ruxue after insert on czbk_student
    for each row
    begin
        update class set stu_count=stu_count+1;
        update class set cz_money=zc_money+2e;
    end
$$
delimiter;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值