1 我们在执行sql语句的时候,如果我们在一个事务里执行到查询一条语句之后在更新保存。这样会出现库存为负的情况:
因为我们查询用的是共享锁,你在读的时候其他人也在读,你们读取相同的数据这样不能保证数据的准确性。可以采取两种方法解决这个问题,
(1)执行过更新之后再执行一次查询看一下是否为负,是负的情况回滚事务。
(2)采用锁的方式,在更新是根据索引锁住当前行其他人不能再进行修改。