avatar

一条在知识海洋的咸鱼

这个家伙很懒,啥也没有留下😋

  • 首页
  • Linux
  • OCJP
  • Java核心技术卷
  • J2EE相关标准
  • 深入理解Java虚拟机
  • NIO与SOcket编程技术指南
  • Java多线程编程核心技术
  • Redis开发与运维
  • Spring Cloud Alibaba 微服务原理与实践
  • DevOps
  • Docker
  • MySQL必知必会
  • AI自学路线
  • Spring Boot 编程思想(核心篇)
主页 第二十五章 使用触发器
文章

第二十五章 使用触发器

发表于 2021-07-5 更新于 2026-06- 10
作者 Administrator
5~7 分钟 阅读

创建和使用触发器

  • 触发器
  • 创建触发器
    • 注意
    • 触发器失败
  • 删除触发器
  • 使用触发器
    • INSERT触发器

触发器

希望某条语句(或某些语句)、存储过程在事件发生时自动执行
注意只有表才支持触发器,视图和临时表不支持
例如:

  • 增加顾客信息到表中时检查其电话号码格式是否正确
  • 订购产品时,库存数量减去订购数量
  • 无论何时删除一行,都在某个存档表中保留一个副本

需要在某额表发生更改时自动处理,此为触发器。
触发器是MySQL响应以下语句而自动执行的一条SQL或存储过程

  • DELETE
  • INSERT
  • UPDATE

创建触发器

使用CREATE TRIGGER创建,创建触发器需要明确4点信息:

  • 唯一的触发器名
  • 触发器关联的表
  • 触发器响应的活动(DELETE、INSERT、UPDATE)
  • 触发器何时执行
CREATE TRIGGER newproduct AFTER INSERT ON products FOR EACH ROW
SELECT
	"Product added" INTO @newproduct;

此触发器将在INSERT语句成功执行后执行。文本productadded将对每个插入的行显示一次。
image.png

注意

每个表的每个事件只允许一个触发器。每个表最多支持6个触发器(INSET、UPDATE、DELETE)。
单一触发器不能与多个事件或多个表关联,如果

触发器失败

如果BEFORE触发器失败,则MySQL将不执行请求的操作。
BEFORE触发器或语句本身失败,MySQL将不执行AFTER触发器

删除触发器

触发器不能更新或覆盖,如果修改一个触发器必须要删除后再重新创建

DROP TRIGGER newproduct;

image.png

使用触发器

INSERT触发器

MySQL必知必会
SQL
许可协议: 
分享

相关文章

7月 6, 2021

第二十九章 数据库维护

7月 6, 2021

第二十八章 安全管理

确保数据的安全和完整需要利用访问控制访问控制root账户不要使用root管理用户创建用户账号简单创建一个新用户账号使用GRANT或INSERT创建重命名用户账号删除用户账号设置访问权限访问控制用户需要对其数据具有适当的访问权,既不能过多,也不能过少,例如多数用户需要对表进行读写,少数用户需要创建和删

7月 6, 2021

第二十七章 全球化和本地化

MySQL处理不同字符集和语言的基础知识字符集和校对顺序校对的重要性使用字符集和校对顺序字符集和校对顺序数据库表被用来存储和检索数据。不同的语言和字符集需要以不同的方式存储和检索MySQL需要适应不同的字符集(字母和字符),应应不同的排序和检索数据的方法字符集:字母和符号的集合编码:某个字符集成员的

下一篇

第二十六章 管理事务处理

上一篇

第二十三章 存储过程

最近更新

  • 55 异常兜底:工具失败、非法输出、空检索与超时
  • 54 Agent Memory:短期记忆、用户上下文与摘要
  • 53 Human-in-the-loop:让关键动作暂停、确认与恢复
  • 52 工单 Tool:字段校验、创建结果与失败补偿
  • 51 订单 Tool:Mock、鉴权、状态解析与脱敏

热门标签

java基础 微服务 maven Spring Tomcat DDD Linux Linux基础 SQL基础 数据结构算法

目录

©2026 一条在知识海洋的咸鱼. 保留部分权利。

使用 Halo 主题 Chirpy