--你必须拥有相当大的权限才能创建触发器(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 ;
时间: 2024-10-07 11:48:32