谢谢了

解决方案 »

  1.   

    悲观锁
    在查询的时候加上行级锁,让其他用户无法访问这些记录
    select .. from table for update
      

  2.   

    select time from table where...update table set xx=xx where time=xxx
      

  3.   

    在查询的时候加上行级锁,让其他用户无法访问这些记录
    select .. from table for update
      

  4.   


    select .. from table for update
    select from 后面加上for update就加上锁了?
      

  5.   

    用事务管理就行,hibernate,spring都有这种功能
      

  6.   

    对一行数据进行 UPDATE 数据库不会让其同时操作的!如果连接 A 正在修改,事务还未提交,这里 B 也想修改,这时 B 会阻塞住,直到 A 的事务提交。所以说,数据库是有行级锁或者表锁的,不会让两个 UPDATE 对于同一行数据同时进行操作,你不用担心!
      

  7.   

    表中加条version(版本号) 
    比如A和B分别加载了数据库数据,A对数据进行了修改,并让version的值+1,B修改数据时因为数据库的version和加载的version值不同,提示更新失败
      

  8.   

    我还没学怎么连数据库,但是应该有两种方法吧,一个是java本身的操作加锁,二个是数据库操作事务管理加锁
      

  9.   


    楼主说的应该是丢失更新这个问题
    比如说有一个设备是空闲的,两个人准备去申请这个设备,此时两个人同时查询,都查询到这个设备是空闲的可以申请,因此两个人都申请,这种情况下就会出现两个人都申请成功的情况(不管有没有事物的阻塞),典型的解决方案就是select for update,不让两个人同时查到同一个空闲的设备而不是去说数据库怎么去实现一致性的...