MySQL 觸發器定義與用法簡單例項

2022-09-25 04:09:08 字數 2101 閱讀 3176

語法

create trigger 觸發器名稱  --觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本程式設計客棧相象.

--觸發器有執行的時間設定:可以設定為事件發生前或後。

--同樣也能設定觸發的事件:它們可以在執行insert、update或delete的過程中觸發。

on 表名稱  --觸發器是屬於某乙個表的:當在這個表上執行插入、 更新或刪除操作的時候就導致觸發器的啟用. 我們不能給同一張表的同乙個事件安排兩個觸發器。

for each row  --觸發器的執行間隔:for each row子句通知觸發器 每隔一行執行一次動作,而不是對整個表執行一次。

《觸發器sql語句》  --觸發器包含所要觸發的sql語句:這裡的語句可以是任何合法的語句, 包括復合語句,但是這裡的語句受的限制和函式的一樣。

例項準備工作

-- 建立表tab1

drop table if exists tab1;

create table tab1(

tab1_id varchar(11)

);-- 建立表tab2

drop table if程式設計客棧 exists tab2;

create table tab2(

tab2_id varchar(11)

);例項1:新增一條,觸發另外一張表的新增

-- 建立觸發器:t_afterinsert_on_tab1

-- 作用:增加tab1表yz**dhazb記錄後自動將記錄增加到tab2表中

drop trigger if exists t_afterinsert_on_tab1;

create trigger t_afterwww.cppcns.cominsert_on_tab1

after insert on tab1

for each row

begin

insert into tab2(tab2_id) values(new.tab1_id);

end;

-- 測試一下

insert into tab1(tab1_id) values('0001');

-- 看看結果

select * from tab1;

select * from tab2

例項2:刪除一條,觸發另外一張表的刪除

-- 建立觸發器:t_afterdelete_on_tab1

-- 作用:刪除tab1表記錄後自動將tab2表中對應的記錄刪去

drop trigger if exists t_afterdelete_on_tab1;

create trigger t_afterdelete_on_tab1

after dewww.cppcns.comlete on tab1

for each row

begin

delete from tab2 where tab2_id=old.tab1_id;

end;

-- 測試一下

delete from tab1 where tab1_id='0001';

-- 看看結果

select * from tab1;

select * from tab2;

例項3:更新一條,觸發另外一張表的更新

-- 建立觸發器:t_afterupdate_on_tab1

-- 作用:修改tab1表記錄後自動將tab2表中對應的記錄更新

drop trigger if exists t_afterupdate_on_tab1;

create trigger t_afterupdate_on_tab1

after update on tab1

for each row

begin

update tab2 set tab2_id=new.tab1_id where tab2_id=old.tab1_id;

end;

-- 測試一下

update tab1 set tab1_id='0002' where tab1_id='0001';

-- 看看結果

select * from tab1;

select * from tab2;

mysql 觸發器定義 mysql觸發器

什麼是觸發器 觸發器是與表有關的資料庫物件,在滿足定義條件時觸發,並執行觸發器中定義的語句集合。觸發器的這種特性可以協助應用在資料庫端確保資料的完整性。舉個例子,比如你現在有兩個表 使用者表 和 日誌表 當乙個使用者被建立的時候,就需要在日誌表中插入建立的log日誌,如果在不使用觸發器的情況下,你需...

MySQL觸發器簡單用法示例

mysql觸發器和儲存過程一樣,是嵌入到mysql的一段程式,觸發器是由事件來觸發的,這些事件包括,insert,update,delete,不包括select 建立觸發器 create trigger name,time,event on table name for each row trigg...

MySQL觸發器概念 原理與用法

觸發器 trigger 是mysql提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。簡言之 你執行一條sql語句,這...