mysql建立觸發器部落格園 mysql 建立觸發器

2021-10-17 22:36:57 字數 672 閱讀 5649

建立觸發器的語法如下:

create trigger trigger_name trigger_time trigger_event

on tbl_name for each row trigger_stmt

trigger_time 是觸發器的觸發時間,可以是before 或者after,before 的含義指在檢查約束前觸發,而after 是在檢查約束後觸發。

而trigger_event 就是觸發器的觸發事件,可以是insert、update 或者delete。

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

觸發器只能建立在永久表(permanent table)上,不能對臨時表(temporary table)建立觸發器。

舉例delimiter $$

create trigger ins_film

after insert on film for each row begin

insert into film_text (film_id, title, description)

values (new.film_id, new.title, new.description);

end;

delimiter ;

刪除觸發器

mysql> drop trigger ins_film;

my sql 觸發器 mysql建立觸發器

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

mysql部落格園 mysql

一 聯合查詢 在兩種情況下可能用到 1 想要的結果在一條語句中會引起邏輯衝突,只能放在兩條語句中是要使用聯合查詢 2 一張表的資料量非常大時,會分隔成多張表儲存,要查詢時也要用到聯合查詢 2,聯合查詢中的order by必須搭配上limit關鍵字才能生效!因為系統預設的聯合查詢的結果往往比較多,所以...

mysql建立觸發器

注 觸發器中不能呼叫儲存過程,觸發器功能應盡量簡單 use d database name 切換到資料庫 set names utf8 drop if exists when update can use drop trigger if exists tr update bind sno delim...