MySQL触发器-使用示例

news2024/11/26 3:34:51

一、什么是触发器

触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的SQL语句

举个例子:有两个表,员工表和部门表。当一个员工入职时:

  • 员工表需要insert一行员工详细信息(id,employee_name,phone_num,email,dept_id)
  • 部门表需要insert一行员工大致信息(id,employee_name)

如果没有触发器,则需在service添加同步逻辑,或同时调用多条SQL执行同步insert

有触发器后,只需在员工表插入数据,部门表会自动插入

二、创建触发器

  • 创建语法
create trigger 触发器名
触发时间 触发语句 on 触发表名
for each row
begin
    触发内容(SQL语句);
end;

名词解释:

  • 触发器名:给触发器取的名字

  • 触发时间:

before:数据修改前触发
after:数据修改后触发

  • 触发语句:

insert:insert后触发
update:update后触发
delete:delete后触发

触发器类型NEW 和 OLD
INSERTNEW 表示已经新增的数据
UPDATEOLD 表示修改前的数据 , NEW 表示已经修改的数据
DELETEOLD 表示已经删除的数据
  • 触发表名:触发表执行增/删/改SQL后,执行触发器

  • 触发内容:执行触发器后要执行的SQL语句

三、查看/删除触发器

  • 查看所有触发器
show triggers;
  • 查看触发器创建语句
show create trigger 触发器名;
  • 删除触发器
drop trigger + 触发器名;

四、举例

  • 创建员工表

在这里插入图片描述

  • 创建部门表

在这里插入图片描述

  • 创建触发器
create trigger trigger_employeeToDept
    after insert on employee
    for each row
begin
    insert into dept (id, employee_name) VALUES (NEW.dept_id,NEW.employee_name);
end;

解释:

当employee表执行insert语句后,dept表进行insert操作
id和employee_name字段值为employee表插入的数据

  • 插入测试数据
insert into employee (id, employee_name, phone_num, email, dept_id) 
VALUES ('1','odinpeng','123456','123@gmail.com','1');
  • 结果

employee表:
在这里插入图片描述

dept表:
在这里插入图片描述


update、delete与insert类似,替换关键字即可

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

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

相关文章

【广州华锐视点】AI卡通数字人物帮助企业拓展更广阔的市场空间

随着科技的飞速发展,人类对于虚拟世界的探索愈发深入。从最初的文字和图片,到如今的音频、视频,再到未来可能的虚拟现实,我们一直在寻求与虚拟世界更加紧密的联系。在这个过程中,AI卡通数字人物作为一种新兴的角色&…

阿里巴巴矢量图标库的使用

iconfont-阿里巴巴矢量图标库iconfont-国内功能很强大且图标内容很丰富的矢量图标库,提供矢量图标下载、在线存储、格式转换等功能。阿里巴巴体验团队倾力打造,设计和前端开发的便捷工具https://www.iconfont.cn/ 今天来介绍一下阿里巴巴矢量图标库的使用…

YOLOv7独家原创改进:自研独家创新MSAM注意力,通道注意力升级,魔改CBAM

💡💡💡本文自研创新改进:MSAM(CBAM升级版):通道注意力具备多尺度性能,多分支深度卷积更好的提取多尺度特征,最后高效结合空间注意力 1)作为注意力MSAM使用; 推荐指数:五星 MSCA | 亲测在多个数据集能够实现涨点,对标CBAM。 在道路缺陷检测任务中,原始ma…

好视通云会议 upLoad2.jsp 任意文件上传漏洞复现

0x01 产品简介 好视通云会议是基于 Internet 的网络视频会议产品,用户使用好视通云会议可以实现多人音视频交流、文字聊天、共享文档、共享屏幕等,会议的管理者可以控制其他参会人的各种权限,可以将会议录制成视频,对会场进行点名…

一文彻底理解索引下推

了解索引下推吗?二级索引取出的数据是依次回表还是一次回表?索引下推是为了什么发明的? 看完这个文章你将知道上面的问题。 索引下推的概念 从MySQL5.6开始引入的一个特性,索引下推通过减少回表的次数来提高数据库的查询效率; 注意&#…

如何使用群晖Synology Office结合内网穿透实现多人远程编辑文件协同办公

使用群晖Synology Office提升生产力:多人同时编辑一个文件 文章目录 使用群晖Synology Office提升生产力:多人同时编辑一个文件本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制…

“2024年国考公共科目”趣谈

黄金的熔点仅为1064.43C,不锈钢、耐高温钢所需的冶炼温度也仅需2000℃以上,因此与正在进行中的“2024年国考公共科目笔试”的“报名人数首破300万,平均约77人竞争一岗位”相比,炼金炼钢温度全都败落下风。 网络图片 其中宁夏的一…

京东API商品详情接口,通过商品ID获取商品名称,淘宝主图,价格,颜色规格尺寸,库存,SKU数据等调用示例

要接入京东API接口以采集电商平台上的商品数据,可以按照以下步骤进行: 注册并获取API密钥:在使用API接口之前,需要注册并获取API密钥。API密钥是识别身份的唯一标识符。每个API接口都有自己的注册、认证和授权过程,因…

【C++初阶】:简单的图书管理系统(可保存,完整源代码)

图书管理系统 library.h #include<iostream> #include<string> #include<vector> using namespace std;/****************************************************************公共类**********************************************************************…

Java核心知识点整理大全22-笔记

目录 19.1.14. CAP 一致性&#xff08;C&#xff09;&#xff1a; 可用性&#xff08;A&#xff09;&#xff1a; 分区容忍性&#xff08;P&#xff09;&#xff1a; 20. 一致性算法 20.1.1. Paxos Paxos 三种角色&#xff1a;Proposer&#xff0c;Acceptor&#xff0c;L…

微信群发消息怎么发?如何突破200人限制?(最全攻略)

每到节假日或者各种大促节日&#xff0c;很多人都会发布或收到微信好友的节日祝福或活动通知。群发已经是很普遍的一件事了。 说到微信群发&#xff0c;大家是不是还在用微信自带的群发功能&#xff0c;或者说还在手动进行群发操作“复制粘贴”的形式进行&#xff1f; 如果好友…

jdk动态代理和CGLIBE代理

静态代理&#xff1a;由程序员创建或特定工具自动生成源代码&#xff0c;再对其编译。在程序运行前&#xff0c;代理类的.class文件就已经存在了。 动态代理&#xff1a;在程序运行时&#xff0c;运用反射机制动态创建而成。 使用jdk的反射机制&#xff0c;创建对象的能力&…

PHP项目用docker一键部署

公司新项目依赖较多&#xff0c;扩展版本参差不一&#xff0c;搭建环境复杂缓慢&#xff0c;所以搭建了一键部署的功能。 docker-compose build 构建docker docker-compose up 更新docker docker-compose up -d 后台运行docker docker exec -it docker-php-1 /bin/bas…

二叉树(检查两棵树是否相同)

题目&#xff08;力扣&#xff09;&#xff1a; 判断二叉树是否相同&#xff0c;就需要分别看他们的左节点和右节点是否分别相同。 注意&#xff1a;左右节点不可弄反&#xff08;如&#xff0c;p的左节点和q的右节点比较......&#xff09; 首先&#xff0c;先判断他的特殊情…

在线协作神器集结!全球Top5在线白板软件一网打尽。

创意往往在一群人协作时迸发&#xff0c;而数字白板可以实现这一点。在本文中&#xff0c;你将了解为什么人们选择在线白板软件&#xff0c;如何选择合适的白板工具以及一些令人惊叹的白板工具&#xff0c;话不多说&#xff0c;一起往下看吧。 在线白板软件是什么&#xff1f;…

ChatGLM3详细安装部署

一、安装NVIDIA 找到任务栏的右下角&#xff0c;右键选择NVIDIA进行安装。 这里正在进行安装&#xff0c;稍等片刻。等待安装完毕。 安装好之后打开&#xff0c;选择驱动程序进行下载。 下载好&#xff0c;可以选择快速安装即可。 安装完之后&#xff0c;进行重新启动系统。 二…

Git 入门指南

什么是 Git&#xff1f; Git 的目前最流行的分布式版本控制软件&#xff0c;可以帮助我们高效敏捷的处理任何项目。 版本管理 要理解 Git 我们首先要理解版本管理。 版本管理就是开发过程中用于管理对文件、目录或者工程等内容的修改历史&#xff0c;可以让我们方便的查看历史…

react-virtualized报bpfrpt_proptype_WindowScroller引入错误

背景 vite构建阶段react-virtualized报错 报错信息 ✘ [ERROR] No matching export in "node_modules/_react-virtualized9.22.5react-virtualized/dist/es/WindowScroller/WindowScroller.js" for import "bpfrpt_proptype_WindowScroller"node_module…

Python神技:轻松找出文本文件最热门单词

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 当想要深入了解一段文本&#xff0c;最常见的需求之一就是找到其中出现频率最高的单词。这篇文章将引导你使用Python编写程序&#xff0c;通过简单而强大的技术&#xff0c;准确地找出文本文件中那个频率最高的单…

解决d3dcompiler_43.dll文件丢失的方法,最详细的d3dcompiler_43.dll修复指南

如果你的电脑出现了d3dcompiler_43.dll文件丢失的问题&#xff0c;你知道要怎么去解决么&#xff1f;其实要解决这个问题还是比较简单的&#xff0c;只要你了解清楚d3dcompiler_43.dll文件&#xff0c;那么就知道有多种不同的方法可以去解决它&#xff0c;下面我们一起来看看吧…