mysql觸發器實踐

2021-07-05 10:32:39 字數 1980 閱讀 3971

觸發器(trigger):監視某種情況,並觸發某種操作。

觸發器建立語法四要素:

1.監視地點(table)

2.監視事件(insert/update/delete)

3.觸發時間(after/before)

4.觸發事件(insert/update/delete)

語法:

create trigger triggername

after/before insert/update/delete on 表名

for each row #這句話在mysql是固定的

begin

sql語句;

end;

舉例說明:

建立兩個表

drop

table

ifexists

`t_a`;

create

table

`t_a` (

`id`

int(11) not

null auto_increment,

`name`

varchar(255) collate utf8mb4_unicode_ci default

null,

primary

key (`id`)

) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci;

drop

table

ifexists

`t_b`;

create

table

`t_b` (

`id`

int(11) not

null auto_increment,

`name`

varchar(255) collate utf8mb4_unicode_ci default

null,

primary

key (`id`)

) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci;

建立兩個觸發器:

(1)在t_a插入資料後,往t_b同步資料

drop

trigger

ifexists t_afterinsert_on_ta;

create

trigger t_afterinsert_on_ta

after

insert

on t_a

foreach

rowbegin

insert

into t_b (name)

values

(new.name);

end;

(1)在t_a刪除資料後,刪除t_b的對應資料​

drop

trigger

ifexists t_afterdelete_on_ta;

create

trigger t_afterdelete_on_ta

after

delete

on t_a

foreach

rowbegin

delete

from t_b where id = old.id;

end;

insert into t_a(name) value(『liuyanliang』);

select * from t_a

select * from t_b

//發現t_a和t_b插入了一條相同的資料

delete from t_a where id = 1;

select * from t_a

select * from t_b

​ //發現t_a和t_b的資料都刪除了

觸發器 mysql觸發器

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

my sql 觸發器 mysql建立觸發器

首先,我們來了解一下什麼是觸發器,觸發器,就是在對一張表資料進行增 insert 刪 delete 改 update 的時候,為了保持資料的一致性,對別的表也要進行相應的資料修改。我們都知道mysql最後事務提交後,資料是會儲存到磁碟上的,那麼每次在insert,delete,update時候舊資料...

my sql 觸發器 MySQL檢視觸發器

檢視觸發器是指檢視資料庫中已經存在的觸發器的定義 狀態和語法資訊等。mysql 中檢視觸發器的方法包括 show triggers 語句和查詢 information schema 資料庫下的 triggers 資料表等。本節將詳細介紹這兩種檢視觸發器的方法。show triggers語句檢視觸發器...