• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 位置: MySQL 8 中文手册 -> 存储的对象

    MySQL 触发器

    触发器是与表关联的命名数据库对象,并在表发生特定事件时激活。触发器的某些用途是执行对要插入表中的值的检查,或对更新中涉及的值进行计算。

    定义触发器以在语句插入,更新或删除关联表中的行时激活。这些行操作是触发事件。例如,可以通过INSERTLOAD DATA语句插入行,并为每个插入的行激活一个插入触发器。可以将触发器设置为在触发事件之前或之后激活。例如,您可以在插入表的每一行之前或在更新的每一行之后激活触发器。

    重要

    MySQL触发器仅针对SQL语句对表所做的更改激活。这包括对可更新视图基础的基表的更改。对于不会将SQL语句传输到MySQL服务器的API所做的表更改,触发器不会激活。这意味着使用NDBAPI 进行的更新不会激活触发器。

    INFORMATION_SCHEMAperformance_schema表中的更改不会激活触发器。这些表实际上是视图,并且视图上不允许使用触发器。

    以下各节描述了创建和删除触发器的语法,显示了一些使用它们的示例,并指出了如何获取触发器元数据。

    其他资源

    • 使用触发器时,您可能会找到使用触发器的用户论坛。
    • 有关与MySQL中的触发器有关的常见问题的答案,请参见第A.5节“ MySQL 8.0 FAQ:触发器”。
    • 使用触发器有一些限制。请参见“对存储程序的限制”。
    • 触发器的二进制记录如“存储的程序二进制记录”中所述进行。