如何檢視資料庫中所有觸發器的列表?


藉助於 SHOW TRIGGERS 語句,我們可以列出特定資料庫中的所有觸發器。它可以用以下示例進行說明 −

示例

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,ERR
OR_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,ERR
OR_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)

以上結果集給出了當前資料庫中的觸發器列表。現在,如果我們想要獲取特定資料庫中觸發器的列表,那麼我們可以使用以下語句 −

mysql> Show Triggers from tutorials\G
Empty set (0.00 sec)

以上結果集顯示在名為“tutorials”的資料庫中沒有觸發器。

更新日期: 2020 年 6 月 22 日

178 次瀏覽

啟動你的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.