基礎 觸發器

2021-07-22 01:36:37 字數 2285 閱讀 8967

github:

mysql 從 5.0.2 開始支援觸發器。觸發是與表相關的資料庫操作,在滿足定義條件時觸發,並執行觸發器中定義的語句。

可以協助應用程式在資料庫端確保資料的完整性,減少不必要的邏輯處理。觸發器只能建立在永久表上,不能建立在臨時表上。

對於同乙個表,相同觸發時間,相同觸發事件,只能定義乙個觸發器。

建立語法:

create trigger trigger_name trigger_time trigger_event

on table_name for each row trigger_statement

trigger_name:觸發器名字

trigger_time:觸發時間,包括 before 或 after,before 是指在檢查約束前觸發,after 是檢查約束後觸發

trigger_event:觸發事件,包括insert,update 或 delete

table_name:觸發器針對的表名

trigger_statement:觸發器觸發後執行的sql集合

for each row:行級觸發器,mysql 不支援語句級觸發器

注意:使用 old 和 new 來引用觸發器中發生變化的記錄內容。

建立表1:

create table `t_user_main` (

`f_userid` int(10) not null auto_increment comment '使用者id,作為主鍵',

`f_username` varchar(5) default null comment '使用者名稱',

`f_age` int(3) default null comment '年齡',

primary key (`f_userid`)

) engine=innodb auto_increment=1 default charset=utf8;

插入資料:

insert into t_user_main (f_username, f_age) 

values('one',24),('two',25),('three',26),('four',27),('five',28),('six',29);

建立表2:

create table `t_user_person_info` (

`f_id` int(11) not null auto_increment comment '主鍵',

`f_userid` int(11) not null comment '使用者id',

`f_salary` decimal(14,2) not null default '0.00' comment '工資',

primary key (`f_id`)

) engine=innodb default charset=utf8;

delimiter $$

create trigger user_main_tr after insert

on t_user_main

for each row

begin

insert into t_user_person_info(f_userid) values (new.f_userid);

end $$

delimiter;

測試觸發器:

觸發器檢視不如表,檢視,函式,儲存過程檢視方便,mysql提供的觸發器檢視命令如下:

show triggers \g;

該命令只能檢視所有的觸發器,如果需要檢視具體的觸發器,需要使用系統庫 information_schema 查詢。

檢視所有觸發器,這裡只有乙個,所以看到乙個,如果有多個,可以看到多個:

指定觸發器檢視:

mysql 觸發器基礎

mysql的觸發器 一般用在需要有資料統計的時候,如果每次請求都要對一張表的資料進行統計,可以考慮觸發器,如 乙個公司的 雇員資訊表中,有使用者名稱 和 使用者的工資字段,現在需要在前端頁面上展示,總的雇員數,和總的工資數,如果每請求一次都要去使用 mysql的聚合函式 sum 和 count 其實...

oracle觸發器基礎

基礎書籍中記錄下來的。1 語句觸發器 create or replace trigger tr insert test1 before insert on test1 begin if user admin then end if end 多個啟用動作 create or replace trigg...

MySQL基礎 觸發器

觸發器 trigger 監視某種情況,並觸發某種操作,它的執行是由事件來觸發的,例如當對乙個表進行操作 insert,delete,update 時就會啟用它執行。觸發器經常用於加強資料的完整性約束和業務規則等。觸發器建立語法四要素 1.監視地點 table 2.監視事件 insert update...