005—觸發器


#======================================

#平臺:windows7        

#MYsql版本:mysql-5.5.62-winx64(安裝版)

#MYsql工具:SQLyog - 64 bitNavicat Premium 12

工具包地址:https://pan.baidu.com/s/17SOAmwcgOw9hYtTzDb9-Tw

#======================================

 

 

Q:什麼是觸發器?

 

A:觸發器是與表有關的數據庫對象,在滿足定義條件時觸發,並執行觸發器中定義的語句集合。觸發器的這種特性可以協助應用在數據庫端確保數據的完整性。

 

創建觸發器:

CREATE TRIGGER 觸發器名 BEFORE|AFTER 觸發事件

ON 表名 FOR EACH ROW

BEGIN

執行語句列表

END

 

其中,BEGINEND之間的執行語句列表參數表示需要執行的多個語句,不同語句用分號隔開

 

tips:一般情況下,mysql默認是以 作爲結束執行語句,與觸發器中需要的分行起衝突

 

     爲解決此問題可用DELIMITER,如:DELIMITER$$,可以將結束符號變成$$

 

     當觸發器創建完成後,可以用DELIMITER ;來將結束符號變成;

 

示例:

DELIMITER $$

CREATE TRIGGER demo BEFORE DELETE

   ON users FOR EACH ROW

    BEGIN

     INSERT INTO logs VALUES(NOW());

     INSERT INTO logs VALUES(NOW());

    END

    $$

DELIMITER;

 

查看觸發器:

1、SHOW TRIGGERS \G

2、SELECT * FROM TRIGGERS \G

 

刪除觸發器:

1、DROP TRIGGER trigger_name 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章