觸發器(trigger)是由事件來觸發某個操作。這些事件包括insert語句、update語句和delete語句。當資料庫系統執行這些事件時,就會啟用觸發器執行相應的操作。
1:觸發器的含義和作用
2:如何建立觸發器
3:如何檢視觸發器
4:如何刪除觸發器
語法基本形式為:
create trigger 觸發器名 before | after 觸發事件
on 表名 for each row 執行語句
create
trigger dept_trig1 before
insert
on department for
each
rowinsert
into trigger_time values(now());
該語句的意思是指:在向department表中插入資料前向trigger_time表中插入當前時間。
語法基本形式為:
create trigger 觸發器名 before | after 觸發事件
on 表名 for each row
begin
執行語句列表
endbegin和end之間的「執行語句列表」引數表示需要執行的多個執行語句的內容,不同的執行語句之間用分號。
delimiter ##; 程式結束符號變為##;。
create
trigger dept_trig2 after
insert
on department for
each
rowbegin
insert
into trigger_time values('21:23:05');
insert
into trigger_time values('21:25:13');
end##;
檢視觸發器的方法包括show triggers語句和查詢information_schema資料庫下的triggers表等。
show triggers\g
顯示當前所有觸發器:
*****************1. row*****************
trigger: dept_trig1
event: insert
table: department
statement: insert into trigger_time values(now())
timing: before
created: 2016-03-12 20:12:41.75
sql_mode: strict_trans_tables,no_engine_substitution
definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
database collation: utf8_general_ci
*****************2. row*****************
trigger: dept_trig2
event: insert
table: department
statement: begin
insert into trigger_time values(『21:23:05』);
insert into trigger_time values(『21:25:13』);
end
timing: after
created: 2016-03-12 20:33:16.32
sql_mode: strict_trans_tables,no_engine_substitution
definer: root@localhost
character_set_client: utf8
collation_connection: utf8_general_ci
database collation: utf8_general_ci
mysql中,所有觸發器的定義都存在information_schema資料庫的triggers表中。
select * from information_schema.triggers\g
select * from information_schema.triggers where trigger_name='dept_trig1'\g
第乙個語句顯示所有觸發器
第二個語句顯示指定觸發器名的觸發器
刪除觸發器使用的語法形式如下:
drop trigger 觸發器名;
Mysql學習筆記(十二)觸發器
原文 mysql學習筆記 十二 觸發器 學習內容 1.觸發器 什麼是觸發器?我們什麼時候能夠使用觸發器?觸發器就是用來監聽某個表的變化,當這個表發生變化的時候來觸發某種操作.比若說兩個表是相互關聯的,當我們在對其中乙個 進行操作的同時,另乙個表內的資料也需要進行某種操作,那麼我們就需要建立乙個觸發器...
(八)MySQL學習筆記 觸發器
觸發器有三種 觸發器型別 old的含義 new的含義 insert 型觸發器 無 因為插入前狀態無資料 new 表示將要或者已經新增的資料 update 型觸發器 old 表示修改之前的資料 new 表示將要或已經修改後的資料 delete 型觸發器 old 表示將要或者已經刪除的資料 無 因為刪除...
MySQL學習筆記(12) 觸發器
本文更新於2019 06 23,使用mysql 5.7,作業系統為deepin 15.4。目錄為了便於描述,此處將建立觸發器的ddl複述一次,其已於 sql 章節描述。create trigger triggername before after insert update delete on ta...