MySQL 事务处理的理解

事务是为了解决一组数据库操作过程中出现意外而导致数据不能同步的更新和操作以致业务出现不能允许的情况

比如:人员管理系统,我们在删除一个人的时候,通常需要同时删除他的附带信息,如信箱,文章等等。如果删除过程中出现了错误,导致只删除了一部分,这样就不能满足我们的需求。这样的一组操作就构成了事务。


事务有几个要求:

1 原子性:要不就全部成功,要不就全部失败

2一致性  :事务操作后要使得数据库从一个操作转变成另外的一个操作,比如商品出库,一定要让商品进入到客户的购物篮才行(数据的一致性)

3隔离性: 如果多个事务同时并发执行,要让他们跟各自独立执行一样

4 持久性(Durability):一个成功执行得事务对数据库得作用是持久得,即使数据库应故障出错,也应该能够恢复!


Mysql从4.0开始就支持了事务操作,5.0引入了存储过程


MySQL的事务操作2中方法:

start transaction 开始一个事务

rollback 回滚事务

commit 提交事务



事务的隔离级别:

repeatable read  可重复读  解决了不可重复读的问题(Mysql默认的隔离级别)

意思是:在一个事物操作中,可以重复的获取这个事务当前的数据,不管其他事务是否更改了数据库的信息,当rollback之后,数据才会更改。

串行化:

一个事务在操作数据库的时候,另外一个事务只能等待,除非当前事务rollback或者提交了,其他事务才能操作,否则就处于等待或者超时后退出。



read uncommited 读到了另外一个事务没有提交的数据,存在的问题:脏读。

read commited  只能读到另外一个事务已经提交的数据,解决了脏读问题。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值