如果我們銷毀與其關聯的表,觸發器也會被銷毀。這稱為觸發器的顯式銷毀。可以通過一個例子來理解 –
示例
假設我們在名為“Sample”的表上有一個名為“trigger_before_delete_sample”的觸發器。現在,如果我們刪除該表,那么與該表關聯的上述觸發器也將被刪除。
mysql> Show Triggers\G
*************************** 1. row ***************************
Trigger: trigger_before_delete_sample
Event: DELETE
Table: sample
Statement: BEGIN
SET @count = if (@count IS NULL, 1, (@count+1));
INSERT INTO sample_rowaffected values (@count);
END
Timing: BEFORE
Created: 2017-11-21 12:31:58.70
sql_mode: ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION
Definer: root@localhost
character_set_client: cp850
collation_connection: cp850_general_ci
Database Collation: latin1_swedish_ci
*************************** 2. row ***************************
Trigger: before_inser_studentage
Event: INSERT
Table: student_age
Statement: IF NEW.age < 0 THEN SET NEW.age = 0;
END IF
Timing: BEFORE
Created: 2017-11-21 11:26:15.34
sql_mode: ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION
Definer: root@localhost
character_set_client: cp850
collation_connection: cp850_general_ci
Database Collation: latin1_swedish_ci
2 rows in set (0.01 sec)
登錄后復制
上面的結果集顯示數據庫中有兩個觸發器,其中一個觸發器與名為“Sample”的表關聯。現在,借助以下語句,我們將刪除該表 –
mysql> DROP table sample; Query OK, 0 rows affected (0.26 sec)
登錄后復制
現在借助以下語句,我們可以看到與名為“Sample”的表關聯的觸發器也被銷毀了。
mysql> Show Triggers\G
*************************** 1. row ***************************
Trigger: before_inser_studentage
Event: INSERT
Table: student_age
Statement: IF NEW.age < 0 THEN SET NEW.age = 0;
END IF
Timing: BEFORE
Created: 2017-11-21 11:26:15.34
sql_mode: ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION
Definer: root@localhost
character_set_client: cp850
collation_connection: cp850_general_ci
Database Collation: latin1_swedish_ci
1 row in set (0.01 sec)
登錄后復制
以上就是當我們刪除具有該觸發器的表時,觸發器會發生什么情況?的詳細內容,更多請關注www.92cms.cn其它相關文章!






