程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL觸發器,mysql觸發器實例

MySQL觸發器,mysql觸發器實例

編輯:MySQL綜合教程

MySQL觸發器,mysql觸發器實例


 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved