MySQL教程116-MySQL修改和刪除觸發器
阿新 • • 發佈:2020-08-27
修改觸發器可以通過刪除原觸發器,再以相同的名稱建立新的觸發器。
基本語法
與其他MySQL資料庫物件一樣,可以使用 DROP 語句將觸發器從資料庫中刪除。
語法格式如下:
DROP TRIGGER [IF EXISTS] [資料庫名.]<觸發器名>
語法說明如下:
1) 觸發器名
要刪除的觸發器名稱。
2) 資料庫名
可選項。指定觸發器所在的資料庫的名稱。若沒有指定,則為當前預設的資料庫。
3) 許可權
執行 DROP TRIGGER 語句需要 SUPER 許可權。
4) IF EXISTS
可選項。避免在沒有觸發器的情況下刪除觸發器。
注意:刪除一個表的同時,也會自動刪除該表上的觸發器。另外,觸發器不能更新或覆蓋,為了修改一個觸發器,必須先刪除它,再重新建立。
刪除觸發器
使用 DROP TRIGGER 語句可以刪除 MySQL 中已經定義的觸發器。
【例項】刪除 double_salary 觸發器,輸入的 SQL 語句和執行過程如下所示。
mysql> drop trigger if exists double_salary; Query OK, 0 rows affected (0.10 sec)
刪除 double_salary 觸發器後,再次向資料表 tb_emp6 中插入記錄時,資料表 tb_emp7 的資料不再發生變化.
mysql> truncate table tb_emp7; Query OK, 0 rows affected (0.84sec) mysql> insert into tb_emp6 values (null, 'test6', 1, 1200); Query OK, 1 row affected (0.09 sec) mysql> select * from tb_emp6; +----+-------+--------+--------+ | id | name | deptId | salary | +----+-------+--------+--------+ | 1 | test | 1 | 500 | | 2 | test2 | 1 | 1500 | | 3| test6 | 1 | 1200 | +----+-------+--------+--------+ 3 rows in set (0.00 sec) mysql> select * from tb_emp7; Empty set (0.00 sec)