觸發程式是與表有關的命名資料庫物件,當該表出現特定事件時,將啟用該物件監聽:記錄的增加、修改、刪除。
– 建立觸發器
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...