在mysql中,可以使用“DROP TRIGGER”語(yǔ)句來(lái)刪除已經(jīng)定義的觸發(fā)器,語(yǔ)法格式“DROP TRIGGER [IF EXISTS] [數(shù)據(jù)庫(kù)名] 觸發(fā)器名”;刪除一個(gè)表的同時(shí),也會(huì)自動(dòng)刪除該表上的觸發(fā)器。
(推薦教程:mysql視頻教程)
刪除觸發(fā)器
使用 DROP TRIGGER 語(yǔ)句可以刪除 MySQL 中已經(jīng)定義的觸發(fā)器。
語(yǔ)法格式如下:
DROP TRIGGER [ IF EXISTS ] [數(shù)據(jù)庫(kù)名] <觸發(fā)器名>
語(yǔ)法說(shuō)明如下:
1) 觸發(fā)器名
要?jiǎng)h除的觸發(fā)器名稱(chēng)。
2) 數(shù)據(jù)庫(kù)名
可選項(xiàng)。指定觸發(fā)器所在的數(shù)據(jù)庫(kù)的名稱(chēng)。若沒(méi)有指定,則為當(dāng)前默認(rèn)的數(shù)據(jù)庫(kù)。
3) 權(quán)限
執(zhí)行 DROP TRIGGER 語(yǔ)句需要 SUPER 權(quán)限。
4) IF EXISTS
可選項(xiàng)。避免在沒(méi)有觸發(fā)器的情況下刪除觸發(fā)器。
注意:刪除一個(gè)表的同時(shí),也會(huì)自動(dòng)刪除該表上的觸發(fā)器。另外,觸發(fā)器不能更新或覆蓋,為了修改一個(gè)觸發(fā)器,必須先刪除它,再重新創(chuàng)建。
【實(shí)例】刪除 double_salary 觸發(fā)器,輸入的 SQL 語(yǔ)句和執(zhí)行過(guò)程如下所示。
mysql> DROP TRIGGER double_salary; Query OK, 0 rows affected (0.03 sec)
刪除 double_salary 觸發(fā)器后,再次向數(shù)據(jù)表 tb_emp6 中插入記錄時(shí),數(shù)據(jù)表 tb_emp7 的數(shù)據(jù)不再發(fā)生變化,如下所示。
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)