new03
new03
采纳率88.9%
2015-04-12 07:10 阅读 1.9k
已采纳

数据库多人操作事务怎样保证

表A有字段b,用户每次调用字段b后,都需要给b加1后存库。然后,有两个用户C,D。用户C取出了字段b后,持有了一段时间,这段时间内,用户D对字段b进行了两次操作,即字段b现在的值为b+2,而当用户C持有时间过后,再操作字段b时,这时候用户C持有的字段b已经不是数据库中的那个字段了。那么,应该如何保证不会发生这种情况呢?谢谢。(框架是spring mvc, 业务处直接加的@Transactional)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    kfrght 宝龙哥 2015-04-12 14:24

    加锁,锁就是解决类似这种问题的,锁很容易使用的

    点赞 评论 复制链接分享
  • huangyanlong 黄炎龙 2015-04-13 06:38

    如果是oracle,数据库会自动维护读一致性,如果第一个事务修改没提交,第二个事务只可以读而不可以写,要等到第一个事务成功提交后,第二个事务才会允许修改,而这次修改的数据是建立在第一个事务修改后的数据上的。

    点赞 评论 复制链接分享

相关推荐