2019-01-29
阅读量:
749
什么叫做“事务”
想象一个场景:
小明给小花 汇款 5000元 买 IPHONE,操作界面不用管,不管什么操作界面,最终都要落实到这样两条语句的执行:
update 存款表 set money = money - 5000 where 账户=’小明’;
update 存款表 set money = money + 5000 where 账户=’小花’;
当,第一条语句执行成功,突然断电了(或任何其他情况),就会造成数据的“不一致”。
要解决这个问题,就是“事务”的功能:
事务就是用来保证多条“增删改”语句的执行的“一致性”:要么都执行完成,要么都没有执行;
事务的特点:
- 原子性:一个事务中的所有语句,应该做到:要么全做,要么一个都不做;
- 一致性:让数据保持逻辑上的“合理性”,比如:一个商品出库时,既要让商品库中的该商品数量减1,又要让对应用户的购物车中的该商品加1;
- 隔离性:如果多个事务同时并发执行,但每个事务就像各自独立执行一样。
- 持久性:一个事务执行成功,则对数据来说应该是一个明确的硬盘数据更改(而不仅仅是内存中的变化)。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论