在mysql中,可以使用DROP TRIGGER語句來取消已經定義的觸發器,語法為“DROP TRIGGER 表名.觸發器名;”或者“DROP TRIGGER 觸發器名; ”,觸發器的名稱在當前數據庫中必須具有唯一的名稱;“表名”選項若不省略則表示取消與指定表關聯的觸發器。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
MySQL 的觸發器和存儲過程一樣,都是嵌入到 MySQL 中的一段程序,是 MySQL 中管理數據的有力工具。不同的是執行存儲過程要使用 CALL 語句來調用,而觸發器的執行不需要使用 CALL 語句來調用,也不需要手工啟動,而是通過對數據表的相關操作來觸發、激活從而實現執行。比如當對 student 表進行操作(INSERT,delete 或 UPDATE)時就會激活它執行。
觸發器與數據表關系密切,主要用于保護表中的數據。特別是當有多個表具有一定的相互聯系的時候,觸發器能夠讓不同的表保持數據的一致性。
在 MySQL 中,只有執行 INSERT、UPDATE 和 DELETE 操作時才能激活觸發器,其它 SQL 語句則不會激活觸發器。
那么已經定義的觸發器怎么取消(刪除)?
在MySQL中,可以使用 DROP TRIGGER 語句可以刪除 MySQL 中已經定義的觸發器。
DROP?TRIGGER?觸發器名;? //或 DROP?TRIGGER?表名.觸發器名;
例如,如果要刪除與employees表關聯的??before_employees_update觸發器,可以執行以下語句:
DROP?TRIGGER?employees.before_employees_update;
【實例】刪除 double_salary 觸發器
DROP?TRIGGER?double_salary;
刪除 double_salary 觸發器后,再次向數據表 tb_emp6 中插入記錄時,數據表 tb_emp7 的數據不再發生變化
INSERT?INTO?tb_emp6 VALUES?(3,'C',1,200);
SELECT?*?FROM?tb_emp6;
SELECT?*?FROM?tb_emp7;
【相關推薦:mysql視頻教程】