ShowTriggers\G******************************1.row************ ****** ************ &"/> ShowTriggers\G******************************1.row************ ****** ************ &">
Rumah >pangkalan data >tutorial mysql >Apakah yang berlaku kepada pencetus apabila kita memadamkan jadual yang mempunyai pencetus itu?
Jika kita memusnahkan jadual yang berkaitan dengannya, picu juga akan musnah. Ini dipanggil pemusnahan eksplisit pencetus. Ia boleh difahami dengan contoh -
Andaikan kita mempunyai pencetus bernama "trigger_before_delete_sample" pada jadual bernama "Sample". Sekarang, jika kita memadamkan jadual, maka pencetus di atas yang dikaitkan dengan jadual juga akan dipadamkan.
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)
Set keputusan di atas menunjukkan bahawa terdapat dua pencetus dalam pangkalan data, salah satunya dikaitkan dengan jadual bernama "Sampel". Sekarang dengan bantuan pernyataan berikut kami akan memadamkan jadual -
mysql> DROP table sample; Query OK, 0 rows affected (0.26 sec)
Kini dengan bantuan pernyataan berikut kita dapat melihat bahawa pencetus yang dikaitkan dengan jadual bernama "Sampel" juga dimusnahkan.
rreeeeAtas ialah kandungan terperinci Apakah yang berlaku kepada pencetus apabila kita memadamkan jadual yang mempunyai pencetus itu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!