mysql触发器的概述和创建案例
来源:互联网 发布:新浪微博抱歉网络繁忙 编辑:程序博客网 时间:2024/06/08 17:28
触发器
1:概述(四要素)
1:触发器: trigger 事先为某张表绑定好一段代码,当表中的某些内容发生改变的时候(增删改)系统会自动触发代码执行
2:触发器是一类特殊的事务 ,可以监视某种数据操作(insert/update/delete),并触发相关操作(insert/update/delete)。
3:触发器四要素
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/qqFFBBFEB03E75654F2E6AF17F3A567EFA/dd1410b68a374934986c4dba1a505b9a/clipboard.png)
2:触发器的常用操作
1:创建触发器
1:mysql高级结构中,没有小括号,都是使用对应的字符符号代替
2:语法
Create trigger 触发器名字 触发时间 事件类型 on 表名 for each row 执行语句
begin 代表左大括号 开始
里面都是触发器内容,每行内容必须使用语句结束符:分号
end 代表右大括号 结束
--语句结束符
自定义符号
--将临时修改的修正过来
Delimiter ;
delimiter 自定义符号:后续代码中只有碰到自定义符号才结束
3:案例DEMO
1:创建商品表
CREATE TABLE t_goods(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
price DECIMAL(10,2) DEFAULT 1 COMMENT '默认一元',
inv INT COMMENT '库存数量') CHARSET utf8;
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/qqFFBBFEB03E75654F2E6AF17F3A567EFA/61b52dc62dde4666ae2f63ed0024d0fc/clipboard.png)
插入数据
INSERT INTO t_goods(id,NAME,price,inv) VALUES(NULL,'华为荣耀5',1099,200);
INSERT INTO t_goods(id,NAME,price,inv) VALUES(NULL,'华为荣耀6',2099,256);
INSERT INTO t_goods(id,NAME,price,inv) VALUES(NULL,'华为荣耀8',3129,300);
INSERT INTO t_goods(id,NAME,price,inv) VALUES(NULL,'华为荣耀9',4566,1506);
INSERT INTO t_goods(id,NAME,price,inv) VALUES(NULL,'尼康520',15666,2506);
INSERT INTO t_goods(id,NAME,price,inv) VALUES(NULL,'瑞虎巡洋舰',268900,3500);
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/qqFFBBFEB03E75654F2E6AF17F3A567EFA/2c428ee40bee4ffe8a7bfc3efe08afe6/clipboard.png)
2:创建订单表
CREATE TABLE t_order(
id INT PRIMARY KEY AUTO_INCREMENT,
g_id INT NOT NULL COMMENT '商品ID',
g_nummer INT COMMENT '商品数量'
)CHARSET utf8;
3:触发器
订单生产一个,商品库存就减少一件对应的商品数量
DELIMITER $$
CREATE TRIGGER AFTER_order AFTER INSERT ON t_order FOR EACH ROW
BEGIN
UPDATE t_goods SET inv=inv-1 WHERE id=2;
END $$
DELIMITER ;
![](file:///C:/Users/Administrator/AppData/Local/YNote/data/qqFFBBFEB03E75654F2E6AF17F3A567EFA/fbf1fc8da262465f9f7f460f0999f416/clipboard.png)
阅读全文
0 0
- mysql触发器的概述和创建案例
- mysql中触发器的创建
- mysql存储过程、函数和触发器的创建
- MySQL——触发器的创建和使用总结
- MySQL——触发器的创建和使用总结
- mysql触发器案例
- mysql 触发器案例
- MySql命令行创建和删除触发器
- Mysql Tigger触发器创建和使用
- MySql命令行创建和删除触发器
- MySQL创建视图和Union all的使用案例
- mysql 的触发器和授权
- MySQL触发器的创建与删除
- 学习mysql(6),触发器的创建。trigger
- 创建Mysql触发器的语法介绍
- mysql 触发器的创建 修改 删除
- MySQL数据库触发器(trigger)的创建
- Navicat10 mysql 触发器 应用案例
- hadoop常用进程和web端口整理
- 常见的 AAC规格
- MVCC
- qbc关联查询出对象集合,对集合中的对象进行条件过滤
- vue 实战问题总结
- mysql触发器的概述和创建案例
- 尝试运行验证码程序,遇到问题
- Oracle中查询某字段不为空或者为空的SQL语句怎么写
- 关于https的理解
- 谷歌浏览器 VS 火狐量子:哪一个更快?
- Java基础------访问修饰符
- mybatis拦截sql,日志输出sql详情及其执行时间
- 入门node.js你必须知道的那些事
- 61850简述