我不太确定这个是否是一个确定性的问题。打开两个客户端程序,然后分别先后更新同一条记录,这时:问题:应该让后来者更新失败吗? 还是让二者都更新成功? 依据是什么? 最佳实践, 依赖于具体需求?

解决方案 »

  1.   

    A客户端与B客户端,假设操作步骤:先在A执行更新语句,再在B执行更新语句。
    问一句:楼主都不执行COMMIT的么?如果两个A客户端更新操作后,不COMMIT,A会把该表锁住。
    再在B执行更新的话,更新不成功。。没有响应,锁在那里。一直会等到你在A执行COMMIT。B才会做更新操作。(更新后,你应该也COMMIT)最后表被更新的结果就是:先更新成A的结果,再更新成B的结果。