MySQL - 触发器

MySQL - 触发器 首页 / MySQL入门教程 / MySQL - 触发器

MySQL中的触发器是驻留在系统目录中的一组SQL语句。 这是一种特殊的存储过程,可根据事件自动调用。每个触发器都与一个表相关联,该表可以在任何DML语句(例如 INSERT,UPDATE DELETE )上激活。

触发器称为特殊过程,因为它不能像存储过程一样直接调用。触发器和过程之间的主要区别在于,对表进行数据修改事件时,将自动调用触发器。相反,必须显式调用存储过程。

触发器类型

无涯教程可以以触发器的形式定义最多六种动作或事件:

  1. 插入前:在将数据插入表之前将其激活。
  2. 插入后:在将数据插入表中后将被激活。
  3. 更新前:在更新表中的数据之前将其激活。
  4. 更新后:在更新表中的数据后将其激活。
  5. 删除前:在从表中删除数据之前将其激活。
  6. 删除后:从表中删除数据后将其激活。

使用不使用INSERT,UPDATE或DELETE查询的语句来更改表中的数据时,与该触发器关联的触发器将不会被调用。

命名约定

命名约定是无涯教程遵循以提供适当的唯一名称的一组规则。它节省了使工作井井有条和易于理解的时间。因此,无涯教程必须为与表关联的每个触发器使用唯一的名称。但是,最好为不同的表定义相同的触发器名称。

应使用以下命名约定在 MySQL 中命名触发器:

(BEFOR | AFTER) table_name (INSERT | UPDATE | DELETE)

创建触发器

无涯教程可以使用 CREATE TRIGGER 语句在MySQL中创建新的触发器。以下是在MySQL中创建触发器的语法:

CREATE TRIGGER trigger_name  
    (AFTER | BEFORE) (INSERT | UPDATE | DELETE)
         ON table_name FOR EACH ROW  
         BEGIN  
        --variable declarations  
        --trigger code  
        END;   

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术与商业案例解读 -〔徐飞〕

趣谈网络协议 -〔刘超〕

从0打造音视频直播系统 -〔李超〕

图解 Google V8 -〔李兵〕

容器实战高手课 -〔李程远〕

Vue 3 企业级项目实战课 -〔杨文坚〕

Dubbo源码剖析与实战 -〔何辉〕

快速上手C++数据结构与算法 -〔王健伟〕

后端工程师的高阶面经 -〔邓明〕

好记忆不如烂笔头。留下您的足迹吧 :)