java如何防止两个人同时更改数据库,造成覆盖? 谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 悲观锁在查询的时候加上行级锁,让其他用户无法访问这些记录select .. from table for update select time from table where...update table set xx=xx where time=xxx 在查询的时候加上行级锁,让其他用户无法访问这些记录select .. from table for update select .. from table for updateselect from 后面加上for update就加上锁了? 用事务管理就行,hibernate,spring都有这种功能 对一行数据进行 UPDATE 数据库不会让其同时操作的!如果连接 A 正在修改,事务还未提交,这里 B 也想修改,这时 B 会阻塞住,直到 A 的事务提交。所以说,数据库是有行级锁或者表锁的,不会让两个 UPDATE 对于同一行数据同时进行操作,你不用担心! 表中加条version(版本号) 比如A和B分别加载了数据库数据,A对数据进行了修改,并让version的值+1,B修改数据时因为数据库的version和加载的version值不同,提示更新失败 我还没学怎么连数据库,但是应该有两种方法吧,一个是java本身的操作加锁,二个是数据库操作事务管理加锁 楼主说的应该是丢失更新这个问题比如说有一个设备是空闲的,两个人准备去申请这个设备,此时两个人同时查询,都查询到这个设备是空闲的可以申请,因此两个人都申请,这种情况下就会出现两个人都申请成功的情况(不管有没有事物的阻塞),典型的解决方案就是select for update,不让两个人同时查到同一个空闲的设备而不是去说数据库怎么去实现一致性的... 堆栈溢出,如何处理?? ftpclient采集遇到关于文件生成时间的问题 JTextPane 如何支持html 关于JBuilder Design生成代码的疑问 关于PriorityQueue 循环问题 如何提交到异域网,并且无提示,不刷新,谢谢 如何通过代码来部署应用程序?? JavaSE主要引用领域 jbuilder4的enterprise setup需要weblogic51,但我的是weblogic6,应该怎样才能让jbuilder支持6啊? 新手求助,请问在for循环中如何写条件,才能使得性能更高? java中使用http下载文件需要用户名和密码(求解决)
在查询的时候加上行级锁,让其他用户无法访问这些记录
select .. from table for update
select .. from table for update
select .. from table for update
select from 后面加上for update就加上锁了?
比如A和B分别加载了数据库数据,A对数据进行了修改,并让version的值+1,B修改数据时因为数据库的version和加载的version值不同,提示更新失败
楼主说的应该是丢失更新这个问题
比如说有一个设备是空闲的,两个人准备去申请这个设备,此时两个人同时查询,都查询到这个设备是空闲的可以申请,因此两个人都申请,这种情况下就会出现两个人都申请成功的情况(不管有没有事物的阻塞),典型的解决方案就是select for update,不让两个人同时查到同一个空闲的设备而不是去说数据库怎么去实现一致性的...