mysql学习总结十:事务

一、什么是事务?

事务(Transaction)是将⼀组操作封装成⼀个执⾏单元(封装到⼀起),这⼀个执⾏单元要么⼀起执⾏成功,要么⼀起失败,不会出现执⾏“⼀半”的情况。
注意:数据库引擎InnoDB才支持事务,MyISAM不支持事务。

二、为什么要使用事务?

以银⾏转账为例,张三给 李四 转账,那么它的执⾏流程是这样的:
1、张三账户 -500 update account set money=money-500 where name = ‘张三’;
2、B李四账户 +500 update account set money=money+500 where name = ‘李四’;
如果执⾏了⼀半,断电了或者程序崩溃了,那么 A 账号的钱就永久消失了?那怎么办?⽤事务就可以解决这个问题,将这两个操作封装成⼀个执⾏单元,要么⼀起成功,要么⼀起失败。
张三给李四转 500 元,操作如下:
在这里插入图片描述
假如在执⾏完这个操作时,出现⽹络错误,或是数据库挂掉了,张三的阿⾥巴巴的账户会减少 500,但李四的账户上并没有增加500,那么这500元就凭空消失了。此时我们就要考虑运用事务解决问题。

三、事务的使用

事务的使⽤步骤有三个:
1.开启事务:start transaction(mysql8之前), begin(mysql8之后)
2. 执⾏多条 SQL
3. 提交事务:commit
4. 回滚事务:rollback
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值