MySQL修改和刪除觸發器(DROP TRIGGER)


修改觸發器可以通過刪除原觸發器,再以相同的名稱創建新的觸發器。

基本語法

與其他 MySQL 數據庫對象一樣,可以使用 DROP 語句將觸發器從數據庫中刪除。

語法格式如下:

DROP TRIGGER [ IF EXISTS ] [數據庫名] <觸發器名>

語法說明如下:

1) 觸發器名

要刪除的觸發器名稱。

2) 數據庫名

可選項。指定觸發器所在的數據庫的名稱。若沒有指定,則為當前默認的數據庫。

3) 權限

執行 DROP TRIGGER 語句需要 SUPER 權限

4) IF EXISTS

可選項。避免在沒有觸發器的情況下刪除觸發器。

注意:刪除一個表的同時,也會自動刪除該表上的觸發器。另外,觸發器不能更新或覆蓋,為了修改一個觸發器,必須先刪除它,再重新創建

刪除觸發器

使用 DROP TRIGGER 語句可以刪除 MySQL 中已經定義的觸發器。

【實例】刪除 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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM