网站建设规划书门户网站建设方案

青岛创爱家居设计有限公司 2026/09/09 20:31:56

01什么是触发器

触发器是与表有关的数据库对象,在对表进行insert/update/delete之前或之后,会触发并执行触发器中定义的SQL语句。触发器的这种特性可以协助应用在数据库端确保数据的完整性,记录日志,校验数据等。

简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行;

02触发器创建语法

CREATE tirgger trigger_name before/after insert/update/delete on table_name for each row begin tigger stmt; end; trigger_name:命名时最好使用table_time_event方式命令。 Table及表名,time有before、after,event有insert、update、delete, FOR EACH ROW

表示任何一条记录上的操作满足触发事件都会触发该触发器,也就是说触发器的触发频率是针对每一行数据触发一次.

03如何查看触发器

  • 查看数据库里有哪些触发器:

Show triggers;

  • 查看某个触发器的内容:

SHOW CREATE TRIGGER trigger_name;

然后把SQL Original Statement列的内容复制粘贴出来即可。

  • 删除触发器:

Drop trigger trigger_name;

  • 修改触发器:

无,先删除,再新建。

04NEW和OLD的使用

MySQL 中定义了 NEW 和 OLD加列名,用来表示触发器所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容我们可以使用它们来获取被修改的对象和修改后的对象。

  • 在INSERT型触发器中,NEW用来表示将要(BEFORE)或已经(AFTER)插入的新数据;

  • 在UPDATE型触发器中,OLD用来表示将要或已经被修改的原数据,NEW用来表示将要或已经修改为的新数据;

  • 在DELETE型触发器中,OLD用来表示将要或已经被删除的原数据;

另外,OLD是只读的,而NEW则可以在触发器中使用 SET 赋值,这样不会再次触发触发器,造成循环调用

05触发器实例

实例1:给student表插入数据后记录其操作记录。

create trigger student_after_insert after insert on student for each row begin insert into student_history(userid,action,optime) values(NEW.sno,'insert',now()); end

实例2:删除学生表数据后同时删除成绩表中对应学生的成绩信息,保持了数据的完整性,一致性。​​​​​​​

create trigger student_after_delte AFTER DELETE on student for each row begin DELETE from sc where sc.sno=old.sno; end

实例3:修改成绩表成绩,如果修改成了负数则将其改为0,如果成绩大于100,则修改成100​​​​​​​

create trigger sc_before_update before update on sc for each row begin if new.score<0 then set new.score=0; elseif new.score>100 then set new.score=100; end if; end

以上是我们较常见的“Mysql中触发器使用详解的内容,希望对做这些工作的小伙伴有帮助~大家觉得文章有用的话一定要关注我们,每天来这里和小编一起学习涨薪技能哦。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

无锡网站建设聊城网站建设

还在为复杂的自动驾驶系统搭建而苦恼吗?openpilot开源项目让你用最少的成本体验真正的智能驾驶。本文将为你提供一份完整的实操指南,从环境准备到功能验证,带

2026/06/30 10:30:20

网站建设计划书太原网站建设

抖音评论数据采集的实战解决方案【免费下载链接】TikTokCommentScraper项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScra

2026/06/30 13:30:36

顺德网站建设网站建设排名

PyTorch安装教程GPU版:基于CUDA-v2.6的一键部署方案在深度学习项目开发中,最令人头疼的往往不是模型设计本身,而是环境搭建——尤其是当你要在本地

2026/06/30 13:40:37

黄冈网站建设富阳网站建设

智能家居场景下VibeVoice提供个性化语音反馈在智能音箱越来越“懂”用户的今天,我们却仍常听到机械的播报声:“检测到您已回家。”——语气平板,毫无温度。孩

2026/06/30 11:52:28

石家庄网站建设青岛网站建设哪家好

毕业设计(论文)中期报告题目:基于微信小程序的山水之家民宿管理系统院(系)计算机科学与工程学院专 业计算机科学与技术班 级xx姓

2026/06/30 13:03:04

台州网站建设移动网站建设

Pyreverse终极指南:5分钟学会Python代码可视化分析【免费下载链接】pylintIt's not just a linter that annoys you!项目地址

2026/06/30 10:19:20

深圳网站建设公司网站建设书

引言在当今深度学习领域,随着模型复杂性和数据规模的不断增长,分布式计算已成为推动研究和技术发展的关键因素。为了高效地处理大规模数据和加速模型训练,众多分布式框

2026/06/30 11:29:56

怎么建设网站娄底网站建设

从零构建 ModbusRTU 主从通信:深入报文结构与实战编码在工业自动化现场,你是否曾遇到这样的场景?一台温控仪表通过 RS-485 接入系统,

2026/06/30 14:13:09

西安专业网站建设山西网站建设

将 PyTorch 自定义 Dataset 类文档化为 Markdown API 手册在深度学习项目中,一个训练脚本跑通之后最让人头疼的问题是什么?不是模型结构调参

2026/06/30 10:30:50