触发器是一类特殊的事务,可以监视某种数据操作(insert,update,delete),并触发相关操作(insert,update,delete)
触发器创建之四要素:
监视地点
(table)
监视事件
(insert,update,delete)
触发时间
(after,before)
触发事件
(insert,update,delete)
举个例子,有两张表,分别是商品表goods和订单表ord
当下一个订单的时候,对应的商品要相应减少(买几个商品就少几个库存)
分析:
监视谁:ord
监视动作:insert
触发时间:after
触发事件:update
那么就来写创建触发器的语法:
delimiter $ (这是指定程序碰见$才结束,而不是以分号结束)
create trigger 触发器名称
after/before(触发时间)
insert/update/delete(监视事件)
on 表名(监视地址)
for each row
begin
sql1;
...
sqlN;
end $
---------------------
我们可以看到我们的商品表已经创建好了:
然后我们下订单:
我想买3只猫,那么我们用触发器来实现这个操作:
create triggert2
afterinsert
onordforeach rowbegin
update goods set num=num-new.much where gid=new.gid;end$
这就是微学网-程序员之家为你提供的"MySQL触发器"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/10109.html