我正在开发一个拍卖网站。我已经设计了自己的拍卖系统。拍卖会持续一段时间,用户出价。在结束时出价最高的人赢得了拍卖(就像易趣一样)。当用户出价时,如果出价是最高的,则进行数据库检查,如果出价是最高的,则进行报价,否则不进行数据库检查。
一切都很好,但问题是,我把我的两台笔记本电脑放在一边,从不同的帐户登录,并在准确的时间提交了出价,两个出价都被定下来(两个出价都大于当前最高出价,而且都相等)。两个相等的出价不能放在同一个产品上对吗?如果两个用户同时提交投标,就会发生这种情况。
有人能告诉我解决这个问题的逻辑吗?
最佳答案
您需要实现一种方法来管理对数据库的并发写入。有两种方法可以实现这一点。我建议你从这里开始:http://en.wikipedia.org/wiki/Lock_%28database%29