现在的位置: 首页database>正文
MySQL的触发器  
发表于659 天前 database 评论关闭

数据库使用技巧中除了存储过程还有对触发器的使用。

MySQL的触发器说的通俗点就是一个监控数据变化的数据库组件。

创建mysql触发器的命令如下:

create trigger <trigger_name>
[before|after]
[insert|update|delete]
on <table_name>
for each row
<trigger_body>

trigger_name:是触发器的名称;
before|after:是触发器被出发的时间;
insert|update|delete:是什么操作会触发触发器;
table_name:是触发器所在的表;
trigger_body:是触发器的代码。

值得注意的是:MySQL中,触发器内包含了两个默认的行new和old。当insert时,new是要插入的行;

update时,new是更新后的行,old是更新前的行;delete时,old是被删除的行。

例如:

create trigger phpdo
before insert on mytable
for each row
begin
case new.mysqldatabase
when php1 then set new.mysqldatabase=mysql;
when  php2 then set new.mysqldatabase=phpdo;
else set new.mysqldatabase=0;
end case;
end
//

当在phpdo表中插入一条数据时,如果是PHP1,mysqldatabase就是MySQL,如果是php2,mysqldatabase就是phpdo,其他数据时,mysqldatabase就是0。

更改触发器的操作也和更改存储过程一样,都是先删除,再重新创建。删除触发器的语法如下:

drop trigger trigger_name;

【上篇】
【下篇】

报歉!评论已关闭.

不想听你唠叨×