mysql事务概念_MySQL事务的概念

应用场景

生活中,我们往往经常会进行转账操作,转账操作可以分为两部分来完成,转入和转出。只有这两部分都完成了才可以认为是转账成功。

数据库中,这个过程是使用两条语句来完成的,如果其中任意一条语句出现了异常没有执行,则会导致两个账号的金额不同步,造成错误。

为了防止上面可能出现的情况,MySQL引入了事务,所谓事务就是针对数据库的一组操作,它可以由一条或者多条SQL语句组成,同一个事务的操作具备同步的特点,如果其中有一条语句不能执行的话,那么所有的语句都不会执行,也就是说,事务中的语句要么都执行,要么都不执行。

事务的隔离级别:

如果多个事务同时操作一批数据会引发一些问题,设置不同隔离级别就可以解决这些问题

事务存在的问题:

1,脏读 (读到另一个事务中未提交的数据)

2,不可重复读(在同一个事务中,两次读到的数据不一样)

3,幻读(一个事务操作数据库中所有的记录,另一个事务添加了一个数据则第一个失误查询不到自己的修改)

事务的四大特征:

1,原子性:不可分割,要么同时成功要么同时失败

2,持久性当事务提交或回滚后,数据库会持久化的保存数据

3,隔离性:多个事务之间相互独立

4,一致性:事务操作前后数据总量不变

事务两种提交方式:

手动提交:要先开启事务再提交(oracle就是手动提交)

自动提交:mysql就是自动提交

如果一个包含多个步骤的业务操作被事务管理,那么这些操作要么同时成功,要么同时失败

1:开启事务:start transaction;

2.发生异常时回滚:rollback;

3.提交操作:commit

mysql数据库中事务默认自动提交:一条dml语句自动提交一次

修改事务的默认提交方式:

1,查看事务的提交方式:select @@autocommit;

2,修改:set@@autocommit=0,修改为0后不作commit就没有修改成功

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值