猿问

数据库并发更新数据安全性问题

有一个问题就是,比如有一个字段是剩余金额,限制要加钱,但是又两个线程同时调用+100块钱,如果采用先读取余额,再把加好的钱set进去的,这肯定会出问题。第一个修改完了之后,第二个是在旧的值上加100,其实等于只加了100,而不是加200。这属于什么类型的问题。

    我能想到的解决方法就是,要不然就是在sql中写出amount=amount+xxx的方法去修改字段,或者要不然就是在这个业务方法上加锁。但是不知道这两种方法会不会有别的什么问题。

    不知道大家有没有什么好的,或者已经很成熟的现成的解决方案。


Helenr
浏览 685回答 1
1回答

jeck猫

update qian+=100 where qian=50
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答