在mysql中,可以使用“DROP TRIGGER”語句來刪除已經定義的觸發器,語法格式“DROP TRIGGER [IF EXISTS] [數據庫名] 觸發器名”;刪除一個表的同時,也會自動刪除該表上的觸發器。
(推薦教程:mysql視頻教程)
刪除觸發器
使用 DROP TRIGGER 語句可以刪除 MySQL 中已經定義的觸發器。
語法格式如下:
DROP TRIGGER [ IF EXISTS ] [數據庫名] <觸發器名>
語法說明如下:
1) 觸發器名
要刪除的觸發器名稱。
2) 數據庫名
可選項。指定觸發器所在的數據庫的名稱。若沒有指定,則為當前默認的數據庫。
3) 權限
執行 DROP TRIGGER 語句需要 SUPER 權限。
4) IF EXISTS
可選項。避免在沒有觸發器的情況下刪除觸發器。
注意:刪除一個表的同時,也會自動刪除該表上的觸發器。另外,觸發器不能更新或覆蓋,為了修改一個觸發器,必須先刪除它,再重新創建。
【實例】刪除 double_salary 觸發器,輸入的 SQL 語句和執行過程如下所示。
mysql> DROP TRIGGER double_salary; Query OK, 0 rows affected (0.03 sec)
刪除 double_salary 觸發器后,再次向數據表 tb_emp6 中插入記錄時,數據表 tb_emp7 的數據不再發生變化,如下所示。
mysql> INSERT INTO tb_emp6 -> VALUES (3,'C',1,200); Query OK, 1 row affected (0.09 sec) mysql> SELECT * FROM tb_emp6; +----+------+--------+--------+ | id | name | deptId | salary | +----+------+--------+--------+ | 1 | A | 1 | 1000 | | 2 | B | 1 | 500 | | 3 | C | 1 | 200 | +----+------+--------+--------+ 3 rows in set (0.00 sec) mysql> SELECT * FROM tb_emp7; +----+------+--------+--------+ | id | name | deptId | salary | +----+------+--------+--------+ | 1 | A | 1 | 2000 | | 2 | B | 1 | 1000 | +----+------+--------+--------+ 2 rows in set (0.00 sec)