MySQL 8.0 参考手册 / 第25章存储对象 /
25.3 使用触发器
触发器是与表关联的命名数据库对象,当表发生特定事件时激活。触发器的一些用途是检查要插入到表中的值或对更新中涉及的值执行计算。
触发器被定义为在语句插入、更新或删除关联表中的行时激活。这些行操作是触发事件。例如,可以通过
INSERT
orLOAD
DATA
语句插入行,插入触发器会为每个插入的行激活。可以将触发器设置为在触发事件之前或之后激活。例如,您可以在将每一行插入到表中之前或在更新每一行之后激活一个触发器。
重要的
MySQL 触发器仅在 SQL 语句对表进行更改时激活。这包括对作为可更新视图基础的基表的更改。对于不将 SQL 语句传输到 MySQL 服务器的 API 对表所做的更改,触发器不会激活。这意味着触发器不会被使用NDB
API 进行的更新激活。
INFORMATION_SCHEMA
触发器不会由表或
performance_schema
表
中的更改激活
。这些表实际上是视图,视图上不允许使用触发器。
以下部分描述了创建和删除触发器的语法,展示了一些如何使用它们的示例,并说明了如何获取触发器元数据。
其他资源
在使用触发器时,您可能会发现MySQL 用户论坛很有帮助。
有关 MySQL 中触发器的常见问题解答,请参阅第 A.5 节,“MySQL 8.0 FAQ:触发器”。
使用触发器有一些限制;参见 第 25.8 节,“存储程序的限制”。
触发器的二进制日志记录如 第 25.7 节“存储程序二进制日志记录”中所述进行。