Mysql中的觸發器

2022-06-25 11:36:10 字數 756 閱讀 8855

簡單的說,就是一張表發生了某件事(插入、刪除、更新操作),然後自動觸發了預先編寫好的若干條sql語句的執行;

特點:觸發事件的操作和觸發器裡的sql語句是乙個事務操作,具有原子性,要麼全部執行,要麼都不執行;

作用:保證資料的完整性,起到約束的作用;

接下來將建立user和user_history表,以及三個觸發器tri_insert_user、tri_update_user、tri_delete_user,分別對應user表的增、刪、改三件事;

幾點說明:

delimiter:改變輸入的結束符,預設情況下輸入結束符是分號;,這裡把它改成了兩個分號;;,這樣做的目的是把多條含分號的語句做個封裝,全部輸入完之後一起執行,而不是一遇到預設的分號結束符就自動執行;

new:當觸發插入和更新事件時可用,指向的是被操作的記錄

old: 當觸發刪除和更新事件時可用,指向的是被操作的記錄

drop trigger if exists `tri_insert_user`;

delimiter ;;

create trigger `tri_insert_user` after insert on `user` for each row begin

insert into user_history(user_id, operatetype, operatetime) values (new.id, 'add a user', now());

end;;

delimiter ;

觸發器 mysql觸發器

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

MySQL中觸發器

觸發器是與某個事件相關的特殊儲存過程,與儲存過程不同的是,儲存過程需要用 call 呼叫而出發器不需要使用call呼叫呼叫。也就是自己預先定義好了,當某個事件發生時,就會自動出發觸發器進行相關的操作。僅對 insert update delete 有效,對select無。trigger name 觸...

mysql觸發器的要素 MySQL觸發器

觸發器是一類特殊的事務,可以監視某種資料操作 insert,update,delete 並觸發相關操作 insert,update,delete 觸發器建立之四要素 監視地點 table 監視事件 insert,update,delete 觸發時間 after,before 觸發事件 insert,...