記錄MYSQL觸發器的介紹

2021-09-17 19:46:20 字數 1013 閱讀 5521

觸發程式是與表有關的命名資料庫物件,當該表出現特定事件時,將啟用該物件監聽:記錄的增加、修改、刪除。

– 建立觸發器

create trigger trigger_name trigger_time trigger_event on tbl_name for each row trigger_stmt

引數:trigger_time是觸發程式的動作時間。它可以是 before 或 after,以指明觸發程式是在啟用它的語句之前或之後觸發。

trigger_event指明了啟用觸發程式的語句的型別

insert:將新行插入表時啟用觸發程式

update:更改某一行時啟用觸發程式

delete:從表中刪除某一行時啟用觸發程式

tbl_name:監聽的表,必須是永久性的表,不能將觸發程式與temporary表或檢視關聯起來。

trigger_stmt:當觸發程式啟用時執行的語句。執行多個語句,可使用begin…end復合語句結構

– 刪除

drop trigger [schema_name.]trigger_name

可以使用old和new代替舊的和新的資料

更新操作,更新前是old,更新後是new.

刪除操作,只有old.

增加操作,只有new.

注意: 對於具有相同觸發程式動作時間和事件的給定表,不能有兩個觸發程式。

只要新增記錄,就會觸發程式。

insert into on duplicate key update 語法會觸發:

如果沒有重覆記錄,會觸發 before insert, after insert;

如果有重覆記錄並更新,會觸發 before insert, before update, after update;

如果有重覆記錄但是沒有發生更新,則觸發 before insert, before update

replace 語法 如果有記錄,則執行 before insert, before delete, after delete, after insert

MYSQL觸發器簡單記錄

介紹 觸發器是與表有關的資料庫物件,指在insert update delete之前或之後,觸發並執行觸發器中定義的sql語句集合.觸發器的這種特性可以協助應用在資料庫端確保資料的完整性,日誌記錄,資料校驗等操作.觸發器型別 new 和 old 的使用 insert 型觸發器 new 表示將要或者已...

mysql 學習記錄 觸發器

第二十五章 使用觸發器 觸發器是musql響應以下任意語句自動執行的一條mysql語句 或位於begin和end語句之間的一組語句 delete insert update。觸發條件 建立觸發器 create trigger newproduct after insert on products f...

觸發器 mysql觸發器

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