MySQL学习(18):触发器

news2024/11/24 17:31:17

1.什么是触发器

*触发器是在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。 

*日志记录,数据校验等操作使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容。OLD引用的是触发器变化前的内容,NEW引用的是触发器变化后的内容

INSERT 型触发器NEW 表示将要或者已经新增的数据
UPDATE 型触发器OLD 表示修改之前的数据,NEW 表示将要或已经修改后的数据
DELETE型触发器OLD 表示将要或者已经删除的数据

*触发器只支持行级触发,不支持语句级触发。(仅对mysq而言)

行级触发指的是,如果一条语句影响了n行数据,那么触发器就会被触发n次,若是换成语句级触发,则只会触发一次。

2.使用语法

(1)创建

create trigger 触发器名
before或after insert或update或delete
#before代表在表做动作之前触发,after代表在表做动作之后触发
on 表名 for each row
#for each row代表行级触发,不过因为mysql只支持行级触发,所以这句是必须要写的
begin
SQL语句
end;

(2)查看

show triggers;

(3)删除

drop trigger [表名.]触发器名;
#如果不写表名,则默认删除当前数据库的触发器

3.使用实例

先创建日志表:

(1)针对tb_user表的增加操作创建触发器:

after insert on tb_user for each row代表:tb_user表在每次插入数据后,会触发触发器

可以看到,语句中的 new.使用(old也是同理),是相对tb_user的,也就是创建触发器时所关联的表,而不是begin end语句间的表user_logs

(2)针对tb_user表的更新操作创建触发器:

(3)针对tb_user表的删除操作创建触发器:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1972654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙Flex布局

效果: 代码: 换行代码参数设置: wrap:FlexWrap.Wrap Entry Component struct FlexCase {State message: string Hello World;build() {Flex({direction:FlexDirection.Row,justifyContent:FlexAlign.SpaceAround,alignItems:ItemAlign.Cen…

QT和Electron之争,谁才是王者,看看界面判断下

QT 和 Electron 都是用于开发跨平台应用程序的框架,但很难简单地判定谁是“王者”,因为它们各有优劣,适用于不同的场景和需求。 QT 是一个成熟的 C 框架,具有以下优点: 性能出色:由于是基于 C 开发&#…

Eureka详解:解锁微服务架构中的服务发现与注册超能力!

Eureka是一款由Netflix开源的服务发现框架,主要用于微服务架构中的服务注册与发现。在使用Eureka时,涉及到配置Eureka Server、配置Eureka Client、服务注册与发现等步骤。 Eureka服务端配置: 引入依赖:在项目的pom.xml文件中添加…

【秋招笔试】24-07-27-OPPO-秋招笔试题(研发岗)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 💡本套卷的题目都是计数相关的题,对这方…

针对一个红队病毒样本逆向分析

近日翻到一个比较新颖的样本,在最终后门载荷释放前运用了不少免杀手段,包括堆栈欺骗,实现反射性调用API,以及DLL侧加载、DLL挖空、HOOK规避等手法,对其执行流程和部分手法做详细分析记录。 样本概述 初始载荷 初始载…

【硬件开发】树莓派4B散热性能

树莓派4B散热性能 树莓派引脚 树莓派 40Pin 引脚对照表 rpi-pins-40-0 注:本表格适用于各版本,并且兼容26Pin的树莓派B,树莓派B为26Pin,其引脚对应于上表的前26Pin。 使用下面这款 GPIO 参考卡片,让引脚功能一目了…

谷粒商城实战笔记-101-分布式基础篇总结

文章目录 一、分布式基础概念二、基础开发三、环境搭建四、开发规范 分布式基础篇已经学习完成,包含了以下4个部分的知识: 1,分布式基础概念2,基础开发3,环境搭建4,开发规范 学习并掌握这部分内容&#x…

超声波眼镜清洗机是智商税吗?最好用的超声波清洗机推荐

大家知道,在咱们生活的环境里。到处充斥着细菌,像衣服上、手上等等地方都很容易被沾染上比细菌,很影响咱们的健康。所以大家会勤洗手,勤换洗衣服,来减少细菌病毒伤害。然而对于戒指、项链、眼镜、手表等配饰细菌&#…

软考:软件设计师 — 9.数据流图

九. 数据流图 数据流图是下午场考试中第一个题目,分值 15 分。通常会考察实体名、存储名、加工名的补充,以及找到缺失的数据流并改正等。 1. 数据平衡原则 数据流的分析依赖于数据平衡原则。 父图与子图之间的平衡 父图与子图之间平衡是指任何一张 …

mp3剪辑音乐怎么剪?手把手教会你4个音频剪辑技巧

在制作创意无限的“矿泉水瓶烟花视频”时,音效的选择与剪辑往往是点睛之笔。想象一下,那绚烂的视觉盛宴搭配上恰到好处的背景音乐,是否能让你的作品更加引人入胜? 而要精准地控制每一个音符的起承转合,一款强大的mp3剪…

【学习笔记】Day 1

一、进度概述 1、配置相关环境——注:暂未完成,还有部分依赖没有补充完整 2、试运行 3、《地震数据全波形反演的深度学习方法》PPT知识梳理方法地震数据全波形反演的深度学 二、详情 1、配置相关环境 深度学习环境配置参考文章如下&a…

VS+Qt+C++点云PCL三维显示编辑系统

程序示例精选 VSQtC点云PCL三维显示编辑系统 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《VSQtC点云PCL三维显示编辑系统》编写代码,代码整洁,规则,易…

HttpRequest请求对象和HttpResponse响应对象

HttpRequest请求对象 1.获取请求头 2.获取请求参数 通过请求对象获取请求头 获取GET参数(valuerequest.GET.get(参数名称,默认值))获取POST参数valuerequest.POST.get(参数名称,默认值))获取URL参数&#xf…

C++ 预置和弃置的函数

在C11中,预置和弃置的函数是用于处理移动语义和完美转发的。 预置函数(Move Constructor)是在对象被移动时调用的构造函数。它允许将资源从一个对象转移到另一个对象,而不是进行复制。这可以提高性能,特别是在处理大型…

红酒与美食搭配:味觉的新探索

在美食的世界里,红酒如同一位优雅的舞者,与各种佳肴共舞,创造出无尽的味觉惊喜。当定制红酒洒派红酒(Bold & Generous)与各式美食相遇,便开启了一场味觉的新探索之旅。 一、红酒与美食的邂逅&#xff…

中国LLM研究所收集100+AI大模型资源

自ChatGPT为代表的大语言模型 (大型语言模型,LLM)出现以后,由于其惊人的类通用人工智能(AGI)的能力,掀起了新一轮自然语言处理领域的研究和应用的浪潮。尤其是以ChatGLM、LLaMA等平民玩家都能跑起来的较小规模的法学开源之后,业界…

@SchedulerLock注解使用

文章目录 Scheduled注解参数介绍建表配置类示例参考 如果服务中使用了Scheduled注解,且服务部署了多个节点。那么在同一时刻,所有节点都会执行定时任务。但有有些任务我们只需执行一次,这就需要使用分布式锁的方式来控制,如可以使…

写文案的软件有哪些,四款强大的文案生成器为你创作文案

文案,作为沟通和营销的桥梁,其重要性不言而喻。然而,创作出既吸引人又具有说服力的文案,往往需要投入大量的时间和精力。随着市场上出现了一些能够辅助甚至替代人工创作文案的生成器出现,它解决了大家创作文案的难题。…

(器件)ATMXT1664S1是电容式触摸屏控制器、而ATMXT2912TG-A则是maXTouch 2840节点触摸屏控制器

1、maXTouch mXT1664S电容式触摸屏控制器为大型触摸屏设备带来了S系列架构。mXT1664S得益于强大的32位AVR内核,并且由于S系列架构,它具有业界最高的信噪比(SNR),提供了无与伦比的触摸性能。与S系列中的其他设备一样,mXT1664S包括:…

在OA系统中,飞书的设计从颜值和体验上算是天花板了吧?

书是一款优秀的企业通讯协作工具,在 OA 系统的设计上有很多优点,如用户界面友好、安全性高和协作功能丰富等。但它也有一些可以改进的地方,以下是一些可能的方向: 用户体验一致性:飞书的不同功能模块可能在用户体验上…