Mysql那些事兒之(十)觸發器 一

2021-09-01 13:07:56 字數 1503 閱讀 2204

mysql從5.0.2版本開始支援觸發器的功能。

觸發器是什麼?觸發器就是與表有關的資料庫物件,在滿足定義的條件時觸發,並且執行觸發器中定義的語句。

我們來看一下觸發器的語法結構:

create trigger trigger_name trigger_time trigger_event

on table_name

for each row

begin

trigger_stmt

end;

trigger_name是說明觸發器的名稱;

trigger_time是說明觸發器的時間,after、before;

trigger_event是說明觸發器的事件,比如delete、update、insert;

trigger_stmt是說明觸發器要執行的事物語句,也就是你要幹什麼的東西,寫在這裡。

舉例:建立資料庫:

create database db_test;
建立film表:

create table film(

id smallint unsigned not null,

name varchar(40),

txt text,

primary key(id)

);

在這兒寫乙個簡單的觸發器示例:

業務規則是 在向film表插入資料時,同時向日誌表film_text中也插入一條資料.

當然還得建立film_text表:

create table film_text(

id smallint unsigned not null auto_increment,

name varchar(40),

txt text,

primary key(id)

);

現在可以按照觸發器的語法結構來寫觸發器了。

觸發器**:

create trigger trigger_film  --trigger_film為觸發器的名稱

after --after為觸發器要發生的時間

insert --insert為觸發器發生時的條件 插入操作

on film --建立觸發器的表名

for each row --說明觸發器為行級觸發器

begin

--觸發器要執行的邏輯

insert into film_text(id,name,txt) values(new.id,new.name,new.txt);

end;

執行完這個觸發器之後,當在另乙個film表裡插入資料後,film_text裡也將增加一條資料。

Mysql那些事兒之(十一)觸發器 二

比較after insert before insert after update before update觸發時間與事件 的觸發情況。建立表 create table film text id smallint auto increment,name varchar 40 txt text,pr...

mysql之觸發器詳解 MySQL之觸發器詳解

觸發器 trigger 監事某種情況,並出發某種操作。觸發器建立語法四要素 1 監視地點 table 2 監視事件 insert update delete 3 觸發時間 after before 4 觸發事件 insert update delete create trigger triggern...

MySQL之觸發器

觸發器是個特殊的儲存過程 當乙個預定義的事件發生的時候,被mysql自動呼叫 1 建立只有乙個執行語句的觸發器 create trigger trigger name trigger time trigger event on tb1 name for each row trigger stmttr...