mysql 中的触发器

【Trigger】MySQL之触发器 MySQL触发器(Trigger)是一种特殊的存储过程,它与表有关,当表上的特定事件(insert,update,delete)发生时,触发器会自动执行。可以使用触发器来实现数据约束,数据验证,数据复制等功能查询效率影响额外的列更新成本:每次插入或更新操作时,触发器会额外执行一次赋值操作,这可能会略微增加操作的执行时间。索引和查询优化:如果 date列是经常用于查询的列,并且有索引支持,那么触发器可能导致索引的更新频率增加,进而影响查询性能。 阅读详情

有点像js的事件。可以监视某张表的操作,并触发相关操作

事先为某张表绑定一段代码,当表中的某些内容发生改变的时候(增删改),系统会自动触发代码,执行。

例子: 有两张表,一张订单表,一张商品表,每生成一个订单,意味着商品的库存要减少。

触发器

触发器:事件类型、触发事件、触发对象

事件类型:增删改

触发时间: 前后before after

注: 只有表才支持触发器,视图不支持。

每个表每个事件只允许一个触发器。因此,每张表最多有6个触发器(insert前后,update前后,delete前后)

创建触发器

语法:

create trigger t1(触发器名称)
after (触发时间)
insert  (事件类型)
on orders(哪张表,触发对象)
for each row (为每一行绑定)
begin (开始)
update goods xxx  (触发器的内容,每行内容都必须使用语句结束符,分号)
end;  (结束)

这里就产生了两个分号。这个时候我们需要
delimiter 自定义符号

临时修改语句结束符,后续代码中只有碰到自定义符号才算结束。

将临时修改修正过来

delimiter ;

例子
给orders表增加一个触发器

delimiter $

create trigger demo1 
after 
insert 
on orders 
for each row 
begin
update goods set num = num-1 where gid = 1; 
end$
delimiter ;

然后我们向orders表插入一条数据

insert into orders values(123,1,4);

发现goods表确实发生变化了

但是只是gid为1的num 仅仅减去了1

因为我们上面写死了,这里需要向触发器进行传参

需要先删除触发器

drop trigger demo1;
show triggers;

查看所有触发器,发现demo1触发器被我们删除掉了。

解决上述的问题。

old new

在MySQL中用old、new用来记录当前状态和即将执行后的新状态。

插入的时候,没有old
删除的时候,没有new

delimiter $

create trigger demo1 
after 
insert 
on orders 
for each row 
begin
update goods set num = num - new.much where gid = new.gid; 
end$
delimiter ;
攻击时间控制的动态逆三维制导律(源代码) %参考文献:《攻击时间控制的动态逆三维制导律》,哈尔滨工程大学学报,2010 %编程难点:视线坐标系与参考坐标系间的转换关系 一、采用本文方法结果 二、偏航通道采用增广比例导引律 阅读详情

相关推荐

python基础·练习1(字符串作业)

python基础·练习1字符串作业一、填空二、编程初级中级 字符串作业 一、填空 1.已知s2 = ‘123’,则:s2 * 3 = ___________; s2 + str(456) = ___________; s2 = '123' print(s2 * 3) #123123123 print(s2 + str(456)) #123456 2.已知s1 = ‘123456789’。则: s1[:3] = ________; s1[-5:] =____________; s1[::2]=______;

qq_47326711的博客 8122

SQLServer触发器创建、删除、修改、查看

一: 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 二: SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表。

cdefg198的专栏 3029

使用广播星历进行 GPS 卫星位置的计算

目录1.计算卫星运动的平均角速度 n2.计算观测瞬间卫星的近地点角3.计算偏近点角4.计算真近点角 f5.计算升交角距 6.计算摄动改正项7.进行摄动改正 8.计算卫星在轨道面坐标系中的位置9.计算观测瞬间升交点的经度 L10.计算卫星在瞬时地球坐标系中的位置11.计算卫星在协议地球坐标系中的位置使用广播星历进行GPS卫星位置的计算的详细步骤如下:关于在广播星历中各参数的分布情况可以参考下图:首先根据广播星历中给出的参数 计算参考时刻(TOE) 的平均角速度 式中,GM为万有引力常数 G 与地球总质量

qq_43381998的博客 5568

mysql 触发器的详细用法

作者:ZERONELOVE 来源:优快云(转载) 原文:https://blog.youkuaiyun.com/yang1464657625/article/details/60463721 触发器: 一类特殊的数据库程序,可以监视某种数据的操作(insert/update/delete),并触发相关的操作(insert/update/delete),保护数据的完整性  应用场景:数据同步 例如:...

Airainzhe的博客 3531

机器视觉中的特征提取【0】:什么是特征提取,特征提取有什么作用?

1.什么是特征提取? 特征提取的英文叫做feature extractor,它是将一些原始的输入的数据维度减少或者将原始的特征进行重新组合以便于后续的使用。简单来说有两个作用:减少数据维度,整理已有的数据特征。 这里我给一个例子来解释特征提取的第二个作用。那就是我们很熟悉的奖学金评定,我们知道学生的文化课成绩,道德分数,以及各种其他竞赛的成绩。摆在奖学金评定委员会面前的任务就是如何知道一个学生是否...

月下花弄影 5万+

利用LTspice设计Pt100测温电路

是一种广泛使用的温度传感器,它属于(RTD, Resistance Temperature Detector)的类型,通常用于温度测量。在0°C时,的电阻值为100欧姆,且它的电阻值会随着温度的升高而升高。PT100热电阻温度阻值对应表)因此可以根据这一特性来检测出环境温度。

2301_77033628的博客 2417

小贝_mysql 触发器使用

触发器 简要 1、触发器基本概念 2、触发器语法及实战例子 3、before和after区别   一、触发器基本概念 1、一触即发 2、作用: 监视某种情况并触发某种操作 3、观察场景 一个电子商城: 商品表,goods 主键(goods_id) 商品名称(goods_name) 库存(goods_number) 1

脚本小子-小贝的专栏 1067

DIY音乐播放器:用VS1053模块+Arduino打造你的专属MP3播放器(附完整代码)

本文详细介绍了如何使用VS1053音频解码模块与Arduino开发板,从零开始构建一个功能完备的桌面级MP3播放器。内容涵盖硬件架构设计、SPI总线共享、底层驱动编写、双缓冲区数据流管理以及用户交互实现,并提供完整的代码示例与性能优化建议,帮助创客打造高度可定制的专属音乐播放设备。

weixin_29189003的博客 287

触发器

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delet...

weixin_30449239的博客 216

Android15 修改触摸点上限为40

把MAX_POINTER_ID从默认的31修改为39,这里为什么要从31修改为39,是因为上面说明用BitSet32极限就只能支持32个点,因为从最小的ID是0,所以要支持40个点ID也要对应改为39.最近有个需求,需要修改Android系统的触摸点数,Android系统默认的点数是16个点,因为现在是大屏项目,有客户需要修改为40个点,好吧,客户最大。6.最后进行编译,开机开启触摸点检测,可以使用开发者模式中的显示触摸点功能,再叫上3个人,用双掌触摸屏幕,发现左上角有显示40个触摸点,修改成功。

tzj1058756809的博客 573

(三)UPF之Domain Coverage Relationship(Cover、Equivalent、Independent)

整个Soc架构中一般会存在多个Power Domain,不同的Power Domain之间也存在着一定的Coverage关系。在Cadence工具中,这种。不同的Domain Coverage关系中,各个Domain存在着一定的关联()。

Mr.翟的博客 1424

mysql存储过程学习笔记

本文主要记录了本人学习mysql存储过程时的笔记,文档中用到的表结构在文档结尾处有说明。 一、定义        存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。 二、存储过程的特...

qq_33157666的博客 7万+

Transformer实战(32)——Transformer模型压缩

在本节中,我们学习了如何在硬件资源受限的情况下减轻运行大模型的负担。我们介绍了如何通过蒸馏、剪枝和量化从训练好的模型中提取高效模型。预训练轻量级的通用语言模型(如 DistilBERT) 可以在各种任务上进行微调,并表现出与非蒸馏模型相当的性能。随着数据量的不断增加,我们希望模型能够更快地运行,在这方面,高效 Transformer 起着至关重要的作用。

盼小辉丶的博客 2560

MySQL-触发器

MySQL-触发器

真正的大师永远怀着一颗学徒的心 2万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MySQL之触发器

触发器的应用场景非常广泛,可以用于强制实施业务规则、记录日志变更、复杂的默认值计算、数据同步以及数据校验等。在创建触发器时,需要指定触发器的名称、触发器所在的表、触发器的触发时机(如insert、update或delete操作)、触发器的执行次数(for each row或for each row statement)以及触发器的逻辑。

陆卿之的博客 3万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【MySQL进阶】MySQL触发器详解

小杨带你学MySQL进阶内容触发器的相关知识,一文让你掌握触发器的相关操作以及触发器的优缺点等相关知识。

小杨的博客 8758

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

MySQL的触发器

目录 概述 介绍 操作 创建触发器 格式 NEW与OLD 格式 使用方法 insert类型的触发器 ​update类型的触发器 ​delete类型触发器 ​查看触发器 删除触发器 注意事项 概述 介绍 1.触发器,就是一种特殊的存储过程.触发器和存储过程一样是一个能完成特定共、存储在数据库服务器上的SQL片段,但是触发器无须调用,当时对数据库表中的数据执行DML操作时自动触发这个SQL片段的执行,无需手动调用 2.在MySQL中,只有执行insert,delete,u

weixin_60589106的博客 9177

MySQL触发器

详细可以查看mysql8.0官方文档:https://dev.mysql.com/doc/refman/8.0/en/triggers.html,这里只是简单做个笔记。什么是触发器,复制网上的一段解释:CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_stmt1.trigger_name:触发器的名称 2.tirgger_time:触发时机,为BEFORE或者AFTER 3.trigg

atwdy的博客 9547

MySQL 触发器

本文系统讲解了 MySQL 中触发器(Triggers)的概念、作用、使用场景及语法结构,覆盖了 BEFORE 与 AFTER 触发时机、INSERT、UPDATE、DELETE 等事件的区别,详解了 NEW 和 OLD 关键字的用法,并辅以多个实际业务场景的创建示例,帮助读者理解触发器在数据校验、日志记录、库存同步等方面的实战应用。同时还总结了触发器的创建、查看、删除方法以及常见的注意事项和最佳实践,最后通过配套练习题强化学习效果,是一份触发器入门与进阶兼具的学习资料。

专注于 Agent 工程、AI 产品、Harness Engineering、LLM 算法等方向,OpenMathModel、Nivik 等开源项目作者 1万+

MySQL 触发器_mysql触发器

如果 before 触发器失败或者语句本身失败,将不执行 after 触发器(如果有的话)

2501_90401295的博客 858

mysql 触发器

触发器:当对某张表进行 INSERT、DELETE、UPDATE 操作时,会自动触发定义的触发器中的操作。顾名思义,当我们为某张表定义触发器后,向表中添加、删除、修改数据时,会触发触发器中定义的操作,触发器像是一个事件的监听,一旦监听的事件发生,就会有所反应mysql 只支持行级触发器。

悟世君子的博客 9085

MySQL进阶——触发器

同存储过程和函数类似,MySQL中的触发器也是存储在系统内部的一段程序代码,可以把它看作是一个特殊的存储过程。所不同的是,触发器无需人工调用,当程序满足定义条件时就会被MySQL自动调用。这些条件可以称为触发事件,包括INSERT、UPDATE和DELETE操作。

m0_73703409的博客 6687

MySQL触发器详解

今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL触发器相关知识。 一、触发器简介 触发器是一种特殊的存储过程,在定义触发器时会定义触发器的触发条件,使得触发器在满足触发条件时自动执行而不需要认为调用。尽管触发器的原理很简单,但是在MySQL中引入并使用触发器,可以实现很多实用的效果,并满足一些特定业务环境的需要。 二、触发器定义 三、触发器示例 四、触发器查看与删除

永远是少年 1万+

mysql触发器

1.MySQL触发器简介MySQL 数据库中触发器是一个特殊的存储过程;存储过程要使用 CALL 语句来调用,而触发器的执行是事件(insert、update、delete)自动触发。2.引发触发器执行的事件,如下:增加一条学生记录时,会自动检查年龄是否符合范围要求。每当删除一条学生信息时,自动删除其成绩表上的对应记录。每当删除一条数据时,在数据库存档表中保留一个备份3.触发程序的优点,如下:触发程序的执行是自动的,当对触发程序相关表的数据做出相应的修改后立即执行。触发程序可以通过数据库中相关的表层叠修改另

dyf040508的博客 1289
上一篇: 理解php中的依赖注入
下一篇: 微信授权 获取用户信息
cofecode
博客等级 码龄9年 43粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值