そのトリガーを持つテーブルを削除すると、そのトリガーはどうなりますか?

WBOY
リリース: 2023-09-01 16:41:10
転載
874 人が閲覧しました

そのトリガーを持つテーブルを削除すると、そのトリガーはどうなりますか?

#それに関連付けられたテーブルを破棄すると、トリガーも破棄されます。これをトリガーの明示的な破棄と呼びます。これは例を通して理解できます。

Example

「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)
ログイン後にコピー

上記の結果セットは、データベースに 2 つのトリガーがあり、そのうちの 1 つが「Sample」という名前のテーブルに関連付けられていることを示しています。次に、次のステートメントを使用して、テーブル -

mysql> DROP table sample;
Query OK, 0 rows affected (0.26 sec)
ログイン後にコピー

を削除します。次のステートメントを使用すると、「Sample」という名前のテーブルに関連付けられたトリガーも破棄されることがわかります。

えええええ

以上がそのトリガーを持つテーブルを削除すると、そのトリガーはどうなりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!