目前我DB里面有张表,每次做动作之前我都要先去查询表中的某个栏位,然后更新它,
那么问题来来,我同时做动作的的,有多个SQL去查询他然后更改它,那么就会出现这样的
情况,我第一查询的值是正确的,在我第一更改这个值之前,我的第二次查询过来了,那我
地次查询到的值不是第一次更新后的值,那我的第二次更新就毫无意义了,问下大神这个问题
该如何解决
这个用事务应该可以解决的,关于如何用事务你可以百度一下
如果回答对您有帮助,请采纳
表锁、行锁、排他锁。
oracle会自动行锁的
二种更新,先到先得,指得是,我以查询值进行更新,那么只有第一条更新,第二种更新是后改后得,以关键字,比如Rowid进行更新,值累加累减法,在值的变化量上更新
1,能保证最先更新的更新
2,能保证最后更新的更新
3,能保证值的累计变化
加一个事务锁,或者简单的锁某条记录 select t.字段 from table t for update