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