MySQL 9.0 發行說明
觸發器是一個具名的資料庫物件,它與表格相關聯,並且在表格發生特定事件時啟用。觸發器的一些用途包括檢查要插入表格的值,或對更新中涉及的值執行計算。
觸發器被定義為在陳述式插入、更新或刪除相關表格中的列時啟用。這些列操作是觸發事件。例如,可以使用 INSERT
或 LOAD DATA
陳述式插入列,並且針對每個插入的列啟用插入觸發器。可以設定觸發器在觸發事件之前或之後啟用。例如,您可以讓觸發器在每個插入表格的列之前或在每個更新的列之後啟用。
重要事項
MySQL 觸發器僅針對 SQL 陳述式對表格所做的變更啟用。這包括對可更新檢視表基礎的基底表格所做的變更。觸發器不會針對未使用將 SQL 陳述式傳輸到 MySQL 伺服器的 API 對表格所做的變更啟用。這表示使用 NDB
API 所做的更新不會啟用觸發器。
觸發器不會由 INFORMATION_SCHEMA
或 performance_schema
表格中的變更啟用。這些表格實際上是檢視表,且不允許在檢視表上使用觸發器。
以下章節說明建立和刪除觸發器的語法、顯示一些如何使用它們的範例,並指出如何取得觸發器中繼資料。
其他資源
在處理觸發器時,您可能會發現 MySQL 使用者論壇很有幫助。
如需有關 MySQL 中觸發器的常見問題解答,請參閱 第 A.5 節,「MySQL 9.0 常見問題:觸發器」。
觸發器的使用有一些限制;請參閱 第 27.9 節,「儲存程式的限制」。
觸發器的二進位記錄記錄方式如 第 27.8 節,「儲存程式二進位記錄」中所述。