千家信息网

MySQL触发器简单用法示例

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,本文实例讲述了MySQL触发器简单用法。分享给大家供大家参考,具体如下:mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,INSERT,UPDATE,
千家信息网最后更新 2025年11月10日MySQL触发器简单用法示例

本文实例讲述了MySQL触发器简单用法。分享给大家供大家参考,具体如下:

mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,INSERT,UPDATE,DELETE,不包括SELECT

创建触发器

CREATE TRIGGER name,time,event ON table_name FOR EACH ROW trigger_stmt

例如
复制代码 代码如下:CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum = @sum + NEW.amount

有多个执行语句的触发器

CREATE TABLE test1(a1 INT);CREATE TABLE test2(a2 INT);CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);CREATE TABLE test4(  a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  b4 INT DEFAULT 0);DELIMITER //CREATE TRIGGER testref BEFORE INSERT ON test1  FOR EACH ROW BEGIN    INSERT INTO test2 SET a2 = NEW.a1;  DELETE FROM test3 where a3 = NEW.a1;    UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;  END  //DELIMITER ;INSERT INTO test3(a3) VALUES (NULL), (NULL), (NULL), (NULL), (NULL), (NULL),(NULL), (NULL), (NULL), (NULL), (NULL), (NULL);INSERT INTO test4(a4) VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0), (0);//开始测试INSERT INTO test1 VALUES (1), (3), (1), (7), (1), (8), (4), (4);

查看触发器

SHOW TRIGGERS \G; //查看所有SELECT * FROM information_schema.TRIGGERS where TRIGGER_NAME = 'testref';

删除触发器

DROP TRIGGER testref;

综合案例

步骤1:创建persons表

CREATE TABLE persons (name VARCHAR(40), num int);

步骤2:创建一个销售额表sales

CREATE TABLE sales (name VARCHAR(40), sum int);

步骤3:创建一个触发器

CREATE TRIGGER num_sum AFTER INSERT ON personsFOR EACH ROW INSERT INTO sales VALUES (NEW.name,7*NEW.num);

步骤4:向persons表中插入记录

INSERT INTO persons VALUES ('xiaoxiao',20),('xiaohua',69);SELECT * FROM persons;SELECT *FROM sales;

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》

希望本文所述对大家MySQL数据库计有所帮助。

触发器 技巧 步骤 事件 代码 大全 数据 数据库 过程 存储 专题 事务 兴趣 内容 函数 多个 实例 常用 是由 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全员知识竞赛网站 阿里云服务器查询 mt管理器查看服务器地址 网络安全素质教育填空题 中国国内网络安全企业 普陀区业务前景软件开发哪家好 服务器突然断电后无法进入系统 银行服务器如何更改预留手机号 软件开发项目管理属于领导吗 青岛水利局软件开发 我的世界可以欺负女生服务器 软件开发师的市场前景 软件开发周期的五个阶段 群晖ds220数据库部署 网络安全公开课 基站网络安全及隐患整改情况 共建网络安全的英文作文初中 2020网络安全问答题答案 ios王者制裁之刃服务器 贵州服务器机柜哪里买 网络安全文章的结尾 满帮 网络安全 2018今日说法网络安全 数据库教学管理系统结果分析 网络安全隐私调查背景 网络技术专业潍坊学院 江苏常用软件开发批发价格 的的软件开发者是谁 科技互联网行业发展现状 数据库安全检查指导书
0