热线电话:13121318867

登录
2019-01-29 阅读量: 749
什么叫做“事务”

想象一个场景:

小明给小花 汇款 5000元 买 IPHONE,操作界面不用管,不管什么操作界面,最终都要落实到这样两条语句的执行:

update  存款表  set  money = money - 5000  where  账户=’小明’;

update  存款表  set  money = money + 5000  where  账户=’小花’;

当,第一条语句执行成功,突然断电了(或任何其他情况),就会造成数据的“不一致”。

要解决这个问题,就是“事务”的功能:

事务就是用来保证多条“增删改”语句的执行的“一致性”:要么都执行完成,要么都没有执行;

事务的特点:

  • 原子性:一个事务中的所有语句,应该做到:要么全做,要么一个都不做;
  • 一致性:让数据保持逻辑上的“合理性”,比如:一个商品出库时,既要让商品库中的该商品数量减1,又要让对应用户的购物车中的该商品加1;
  • 隔离性:如果多个事务同时并发执行,但每个事务就像各自独立执行一样。
  • 持久性:一个事务执行成功,则对数据来说应该是一个明确的硬盘数据更改(而不仅仅是内存中的变化)。
0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子