MySQL 8.3 Release Notes
触发器是一个与表关联的命名数据库对象,当表发生特定事件时激活。触发器的一些用途是检查要插入表中的值或在更新时对值进行计算。
触发器定义为在关联表上激活时,例如插入、更新或删除行时。这些行操作是触发事件。例如,行可以通过 INSERT
或 LOAD DATA
语句插入,并且插入触发器在每个插入的行上激活。触发器可以设置在触发事件之前或之后激活。例如,您可以在每个插入表中的行之前或每个更新的行之后激活触发器。
Important
MySQL 触发器仅在 SQL 语句更改表时激活。这包括更改基础表的视图。触发器不激活由不将 SQL 语句传输到 MySQL 服务器的 API 所做的更改。例如,使用 NDB
API 更新时,不会激活触发器。
触发器不激活 INFORMATION_SCHEMA
或 performance_schema
表中的更改。这些表实际上是视图,并且不允许在视图上使用触发器。
以下部分描述了创建和删除触发器的语法,展示了一些使用示例,并指出了如何获取触发器元数据。
附加资源
-
您可能会发现 MySQL 用户论坛 在使用触发器时很有帮助。
-
有关 MySQL 中触发器的常见问题的答案,请参阅 第 A.5 节,“MySQL 8.3 FAQ: 触发器”。
-
有关于触发器使用的一些限制;请参阅 第 27.8 节,“存储程序限制”。
-
触发器的二进制日志记录按照 第 27.7 节,“存储程序二进制日志记录” 中所述进行。