MySQL在5.0.2版本以上開始支持觸發器,觸發器是有某些帶有命令的時間來觸發某些操作,這些事件包括insert語句、delete語句、update語句等。觸發器可以用於記錄對資料庫的操作。 1、創建mysql觸發器: (1)創建具有單個執行語句的觸發器 create trigger 觸發器名稱 ...
MySQL在5.0.2版本以上開始支持觸發器,觸發器是有某些帶有命令的時間來觸發某些操作,這些事件包括insert語句、delete語句、update語句等。觸發器可以用於記錄對資料庫的操作。
1、創建mysql觸發器:
(1)創建具有單個執行語句的觸發器
create trigger 觸發器名稱 before | after觸發事件
on 表名 for each row 執行語句
before| after:指定觸發器執行的時間
foreach row:表示在任何一條記錄上的操作滿足觸發事件都會觸發該觸發器
示例:
創建一個table:
create table timelog(
id int(11) primary key auto_increment,
savetime varchar(50) not null,
saveinfo varchar(50) not null
);
創建saveTimeTrigger觸發器:
delimiter//
create trigger saveTimeTrigger before insert
on studentinfo for each row
insert into timelog(savetime) values(now());
//
當用戶向studentinfo表中insert之前,資料庫會自動向timelog中插入當前操作的時間
更多:http://hovertree.com/menu/mysql/
(2)創建具有多個執行語句的觸發器
create trigger 觸發器名稱 before | after 觸發事件
on 表名 for each row
begin
執行的語句列表
end
例如:
delimiter//
create trigger saveTimeTrigger before insert
on studentinfo for each row
begin
insert intotimelog(savetime) values(now());
insert intotimelog(saveinfo) values(‘insert’);
end
//
2、查看觸發器命令
showtriggers;
select * from information_schema.triggers where TRIGGER_NAME=’觸發器名稱’;
information_schema.triggers:是資料庫中用於記錄觸發器信息的數據表;
TRIGGER_NAME:用於指定要查看的觸發器名稱
3、刪除觸發器
droptrigger 觸發器名稱;
推薦:http://www.cnblogs.com/roucheng/p/mysqlhanshu.html