# What happens with the trigger when we will drop the table having that trigger?

The trigger would also be destroyed if we will destroy the table with which it is associated. It is called the explicit destroy of a trigger. It can be understood with the help of an example −

## Example

Suppose we have a trigger named ‘trigger_before_delete_sample’ on the table named ‘Sample’. Now if we will delete this table then the above trigger associated with this table would also be deleted.

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)

The above result set shows that there are two triggers in the database among these there is a trigger that is associated with a table named ‘Sample’. Now with the help of the following statement, we will DROP the table −

mysql> DROP table sample;
Query OK, 0 rows affected (0.26 sec)

Now with the help of the following statement, we can see that the trigger which was associated with a table named ‘Sample’ is also destroyed.

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)