mysql觸發器之創建觸發器
觸發器在數據庫系統開發過程中具有非常重要的作用,例如可以防止有害數據錄入數據庫,可以改變或取消insert、update和delete語句的執行及在一個會話中監聽數據庫中的數據的改變。
那我們在前面介紹了關于MySQL視圖的應用的幾篇文章《MySQL視圖的應用之創建視圖》《MySQL視圖的應用之創建視圖》以及《MySQL視圖的應用之創建視圖》,那么我們這篇文章開始主要介紹MySQL觸發器~
如果用戶打算在數據庫中通過觸發器實現某一動作的監聽,那么首先應該創建觸發器,觸發器是在“命令提示符”下創建的。
技術要點
MySQL數據庫創建觸發器的格式如下:
create?trigger? {?before?|?after} {insert?|?update?|?delete} on? for?each?row
create trigger :創建一個新觸發器,并指定觸發器的名稱。
{ before | after}:用于指定在insert、update或delete語句執行前觸發還是在語句執行后觸發。
on :用于指定響應該觸發器的表名。
for each row:觸發器的執行間隔,for each row 通知觸發器每隔一行執行一次動作,而不是對整個表執行一次。
:觸發器要執行的SQL語句,如果該觸發器要執行多條SQL語句,要將多條語句放在begin…end塊中。
實現過程
(1)在“命令提示符”下創建數據表tb_test。代碼如下:
create?table?tb_test(t_id?varchar(20),t_name?varchar(20))
(2)將換行標記轉換為“//”。代碼如下:
delimiter?//
(3)創建觸發器,實現無論用戶向表tb_test添加什么數據都使字段t_name的內容為“mrsoft”。代碼如下:
create?trigger?test_tri before?insert?on?tb_test for?each?row set?new.t_name='mrsoft'
(4)向表tb_test添加一條記錄,并查看添加后的結果。代碼如下:
insert?into?tb_test(t_id,t_name)?values('mr0001',?'123')// select?*?from?tb_test
那么我們將上面的實現過程在“命令提示符”中一步步輸入實現,輸出結果如下圖:
關于MySQL觸發器的創建我們就介紹到這里,是不是很簡單,相信小伙伴們都可以快速的掌握,那么我們下一篇文章會繼續介紹MySQL觸發器,具體請閱讀《MySQL視圖的應用之創建視圖》!
【相關教程推薦】
1.【MySQL視圖的應用之創建視圖】
2. 相關視頻課程推薦: 《MySQL視圖的應用之創建視圖》