Apakah yang berlaku kepada pencetus apabila kita memadamkan jadual yang mempunyai pencetus itu?

WBOY
Lepaskan: 2023-09-01 16:41:10
ke hadapan
920 orang telah melayarinya

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 -

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)
Salin selepas log masuk

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)
Salin selepas log masuk

Kini dengan bantuan pernyataan berikut kita dapat melihat bahawa pencetus yang dikaitkan dengan jadual bernama "Sampel" juga dimusnahkan.

rreeee

Atas 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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan