我用的是mysql数据库,当两个用户同时购买一款产品时,会出现脏读,比如产品A剩余库存是100,当甲乙两人同时购买,读取产品库存是都是100,当甲买了20,乙买了30,最终更新完后库存是80或者70,请问有什么办法解决吗?
设置MySQL的事务隔离级别
用事务方式来读取,begin, commit
方法 1. 更新前加锁:
select * from tablename for update;
方法 2. 程序中加锁,控制并发操作,锁对象或方法都行,看实现的情况,是否对效率有影响
transaction isolation level