mysql触发器

mysql触发器的概念:

  触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。

一、作用

  在对表操作进行增删改的时候可以对另一张表进行指定的操作,比如说在给学生表添加信息时,在日记表中自动添加一条学生表添加了一条数据,并记录添加时间与操作者得ip地址后其他信息

  触发器的操作有三种,创建,查看,删除,因为触发器无法修改,只能通过删除之前的触发器在进行从新创建,所以无法修改。

二、触发器语法:

Create trigger triggerName 触发时机(before()||afert(事件(insert||update||delete) on 表名 for each row sql语句;

1、触发器的创建:

create trigger `insert_order_trigger`
after INSERT on aff_order
for EACH ROW 
BEGIN
insert into aff_order_detail(order_id,order_nu)values (new.id,new.order_nu);
END

创建一个名为insert_order_trigger的触发器  在aff_order表增加一条数据后触发, 在aff_order_detail表增加一条数据  

new.id 为order表中的新增加的id,order_nu为新增加的订单的订单号    

2、触发器的删除:

create trigger `delete_order_trigger`
after DELETE on aff_order
for EACH ROW 
BEGIN
delete from aff_order_detail where id=old.id;
END

创建一个名为delete_order_trigger的触发器  在aff_order表删除一条数据后触发, 在aff_order_detail表删除一条数据 where是id= insert_order_trigger表中所删除前的数据的id

old.id   order表删除前的id

3、触发器的修改:

create trigger `update_order_trigger`
after UPDATE on aff_order
for EACH ROW 
BEGIN
UPDATE from aff_order_detail SET 字段名=新值 where id=old.id;
END

创建一个名为update_order_trigger的触发器  在aff_order表修改一条数据后触发 在aff_order_detail表修改一条数据 where是id= insert_order_trigger表中所修改前的数据的id   

old.id   修改前order表的id


三、删除触发器:

使用drop

Drop trigger 触发器名称

触发器删除就是这样

Drop trigger tri_insert;








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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值