关于操作数据库为什么需要进行事务控制一个很好的解释

比如说:做了一个图书管理系统,有人要借书,那么步骤是这样的:
#系统读书,读者的条形码
#系统吧书的状态变为借出,
#图书-读者表中 增加该书和借书者的id
#读者的借书数量+1

问题就出现了,数据库执行完1,2俩个步骤,3步骤出现错误,比如说系统奔溃了,这时候会出现bug.
书被借出,但没人借走。要用事务捆绑这几个动作,如果1,2,3,4有错误发生,则回滚数据库。
Try{ 1;2;3;4;}catch(exception e){ roll back;}
感觉说的不错,浅显易懂~

来自百度问答:https://zhidao.baidu.com/question/588844614.html

本文作者: GavinDong

版权属于: GavinDong博客

文章链接: https://gavindong.com/2608.html

如果使用过程中遇到问题,可 **点击此处** 交流沟通。

版权所有,转载时必须以链接形式注明作者和原始出处及本声明。

(0)

相关文章

发表回复

登录后才能评论

评论列表(1条)

  • ag的头像
    ag 2018.07.12 09:15

    关系型数据库一致性的理解
    读的一致性:
    一个查询select 开始头 可能要查很长时间, 不管他查多久 如果返回结果 那么结果为 查询开始时间的结果,不会有一半结果是 查询开始时的 一半是查询过程中的(这个过程中可能会有其他事务对数据库进行修改,但是一致性的性质保证了查询结果就是开始查询时数据库里面数据的状态,不包括修改后的状态),因为整个过程中可能发生很多事务 很多 数据变化。写的一致性也是这么理解