(Mysql 五)触发器的使用

1.触发器的作用

2.delimiter的作用 

3.触发器的实现

4.new 和 old 的使用


1.触发器的作用:

触发器用于操作一个表的时候同时能够操作另一个表。例如,在A表中,添加一个信息,然后同时自动在B表中添加相同的信息。

 当然在A表中,添加数据时,同时自动在B表中删除数据也可以。反正就是只要 发生对A表指定的操作,就会触发设定好的对B表的操作。

 这样做,当两个表有关联时,可以很方便。


2.delimiter的作用:




3.触发器的实现:

触发器的创建例子:

第一行:表示分隔符换成 $$

第二行:create trigger 为固定格式,t1 为触发器的名字,before insert on zje 表示当 zje表 进行 insert 操作 之前。触发触发器语句。

当然,before可以换成after 表示触发器在对zje表操作之后执行。而 insert 的位置只有(insert,update,delete)这三个能填,select不能。

第三行:for each row 是固定格式。

第四行和第六行:begin 和 end 也是固定格式。而end后跟的必须是分隔符。

第五行:是触发器执行的语句

上述的全部语句表示:创建一个触发器,作用为 在对 zje 表进行insert 之前,把eva表中 chin字段少于60的数据删除。


查看是否创建了触发器:

show triggers from zje; //表示查看 zje表中的所有触发器。

删除触发器:

drop trigger trigger_name ; //删除名为 trigger_name的触发器


4.new和old的使用:

如:

delimiter $$
	create trigger  t1  before update on zje
	for each row
	begin
	set @arg1 = new.math;
	set @arg2 = old.math;
	end$$
	delimiter ;
例如一开始 zje中xiaoming的mat成绩是59,对zje表进行,update zje set math = math + 1 where name=“xiaoming”;

而arg1 = 60,而arg2 = 59;


换言之,new表示对表zje操作之后的数,而old则是表zje在被操作之前的数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值