我是靠谱客的博主 默默棉花糖,最近开发中收集的这篇文章主要介绍触发器+事务,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力

create  trigger 触发器名称  触发的时机  触发的动作  on 表名 for each row 触发器状态。
参数说明:
触发器名称:  自己定义
触发的时机: before /after  在执行动作之前还是之后
触发的动作 :指的激发触发程序的语句类型<insert ,update,delete>
each row:操作每一行我都监控着
触发器创建语法四要素:
1.监视地点(table)
 2.监视事件(insert/update/delete) 
 3.触发时间(after/before) 
 4.触发事件(insert/update/delete)

创建触发器:

mysql> create trigger t after delete on user for each row
    -> delete from `order` where u_id=3;
select * from `order`;
delete from `user` where id=3;
select * from `order`;

在这里插入图片描述
删除触发器:
drop trigger t;
在这里插入图片描述
查看触发器:

show create trigger t;
show triggers;

在这里插入图片描述
在这里插入图片描述

事务:数据库事务:(database transaction): 事务是由一组SQL语句组成的逻辑处理单元,要不全成功要不全失败。

MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型不支持!
数据库默认事务是自动提交的, 也就是发一条 sql 它就执行一条。如果想多条 sql 放在一个事务中执行,则需要使用事务进行处理。当我们开启一个事务,并且没有提交,mysql 会自动回滚事务。或者我们使用 rollback 命令手动回滚事务。

事务的四大特性:ACID

原子性,一致性,隔离性,持久性
commit:提交事务,永久记录
rollback:回滚
start transaction:开启事务
#用来修改事务的自动提交
set atuocommit=0/1
#查看存储引擎
show create table user;
show create table `order`;
#修改默认的结尾
delimiter //
#创建事务
mysql> start transaction;
   -> update `user` set name = "adadad" where sex=1;
   -> update `user` set name = "cccccccccc" where sex=2;
   -> //
mysql> select * from user//
mysql> rollback //
mysql> select * from user//

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后

以上就是默默棉花糖为你收集整理的触发器+事务的全部内容,希望文章能够帮你解决触发器+事务所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部