千家信息网

MySQL触发器简单用法示例

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本文实例讲述了MySQL触发器简单用法。分享给大家供大家参考,具体如下:mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,INSERT,UPDATE,
千家信息网最后更新 2024年09月22日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安全错误 数据库的锁怎样保障安全 山西手机软件开发常用解决方案 软件开发可以在法院做什么 特价美国服务器 建立全国危险化学品企业信息数据库并实现 如何找到方舟专用服务器 按照时间点恢复数据库 戴尔服务器raid怎么取消 查重自定义数据库 黑龙江智慧城管软件开发系统 动力节点数据库尚硅谷数据库 山东移动支付宝数据库 天津专业网络技术服务标准 数据库 索引目的是 软件开发工程师属于什么专业 数据库求1到100的偶数 一上线就从服务器断开连接 数据库字段删除语句怎么写 微软服务器一个月多少流量 闵行区威力软件开发厂家直销 烟台软件开发辛苦吗 企业软件开发外包 浪潮服务器内存条安装 我的门派服务器选哪个 派出所网络安全年度工作计划 5g网络技术改变啥了 数据库读书笔记结尾 南宁分布式服务器排名 常州华菱软件开发公司 东铖软件开发 数据库查字和字段
0