码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 触发器结构及三个案例demo

时间:2016-06-20 12:50:48      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

--你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。

CREATE TRIGGER语法

CREATE TRIGGER trigger_name trigger_time trigger_event
   ON tbl_name FOR EACH ROW trigger_stmt

触发程序与命名为tbl_name的表相关。

trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。

trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一:

·         INSERT:将新行插入表时激活触发程序

·         UPDATE:更改某一行时激活触发程序

·         DELETE:从表中删除某一行时激活触发程序

trigger_stmt是当触发程序激活时执行的语句。如果你打算执行多个语句,可使用BEGIN 
... END复合语句结构。

mysql触发器是mysql数据库的重要概念,下面为您介绍三个mysql触发器的例子,供您参考,希望对您学习mysql触发器方面能有所帮助。

示例一  
delimiter //    
create trigger InsertUser    
before insert on user   
for each row    
Begin   
insert into user_group(uid,gid) values(new.uid,group4444444444);    
end;//    
delimiter ;    
 
示例二    
delimiter //    
create trigger InsertUser    
before insert on user   
for each row    
Begin   
IF new.Type=2 then   
insert into user_group(uid,gid) values(new.uid,group4444444444);    
else   
insert into user_group(uid,gid) values(new.uid,group55555555555)    
END IF;    
end;//    
delimiter ;    
 
示例三:    
delimiter //    
create trigger InsertUser    
before insert on user   
for each row    
Begin   
IF new.type=1 then   
insert into user_group(uid,gid) values(new.uid,578d3369633b47bd9c1fe8bf905cbfb1);    
END IF;    
IF new.type=2 then   
 insert into user_group(uid,gid) values(new.uid,387bcd57fc5a4c3c9de83ee210fef661);    
END IF;    
end;//    
delimiter ;   

 




MySQL 触发器结构及三个案例demo

标签:

原文地址:http://www.cnblogs.com/chen-lhx/p/5600164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!