MySQL觸發器的操作

2022-05-07 02:18:09 字數 1527 閱讀 6594

資料庫物件觸發器用來實現由一些表事件觸發的某個操作,當執行表事件時,則會啟用觸發器,從而執行其包含的操作;

mysql在觸發以下語句時,會自動執行所設定的操作:delete、insert、update語句,其他sql語句則不會啟用觸發器;

觸發器的操作包括建立觸發器,檢視觸發器和刪除觸發器。

在mysql中建立觸發器通過以下語句實現:

create

trigger trigger_name before|after trigger_event on table_name for each now trigger_stmt;

before和after引數指定了觸發器的執行時間,before是指在觸發器事件之前執行觸發語句,trigger_event表示觸發事件,即觸發器執行條件,包含delete、insert、update語句,trigger_stmt表示啟用觸發器後被執行的語句,如:

create

trigger tri_diary before insert

on t_dept for each now insert

into t_diary values(null, '

t_dept

', now()) ;

當向t_dept插入任意一條記錄,都會在此之前向t_diary表插入當前事件記錄。

如需建立多條包含執行語句的觸發器,可通過以下命令實現:

create

trigger trigger_name before|after trigger_event on table_name for each row begin

insert trigger_stmt end

舉個例子吧,如果需要每次在t_dept插入資料之後向表t_diary插入兩條當前時間,語句如下:

delimiter $$

create

trigger

tri_diary2

after

insert

on t_dept for

each row

begin

insert

into t_diary values(null, '

t_dept

', now());

insert

into t_diary values(null, '

t_dept

', now());

end$$

delimiter;

檢視觸發器,類似於表和檢視,都是通過show等語句實現:

show triggers ;

在系統表information_schema表中也可實現檢視觸發器:

use

information_schema;

select

*from

trigger;

刪除觸發器:

drop

trigger tri_name;

MYSQL觸發器的操作

1 為什麼使用觸發器 觸發器是mysql的資料庫物件之一,那為什麼要使用觸發器呢?在開發具體專案時,經常會遇到如下例項 在學生表中擁有字段學生姓名,字段學生總數,每當新增一條關於學生記錄時,學生的總數就必須同時改變。在顧客資訊表中擁有字段顧客名字,字段顧客的 和字段顧客的位址,每當新增一條顧客記錄時...

Mysql 觸發器的操作

例子 在資料庫company中存在兩個表物件 部門表 t dept 和日記表 t diary 建立觸發器實現向部門表中插入記錄時,就會在插入之前向日記表中插入當前時間。部門表 日記表 建立觸發器 插入記錄 結果 日記表也多了一條記錄 語法 例子 建立觸發器實現當前向部門表中插入記錄時,就會在插入之後...

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...