这是一个创建于 3066 天前的主题,其中的信息可能已经有所发展或是发生改变。
积分存储在 user 表中
要实现的功能是: 积分变动记录
假设情景:原有积分 0 , 因发帖增加了 5 分,更新用户积分的同时,需要在 积分记录 表中 加入一条记录
-----------------------------------
我现在想的逻辑是。
select score from user where id={id}
先得到 操作前 的积分。
其他操作
其他操作
其他操作
upate user set score=score+5 where id={id}
更新积分。
最后插入到 log 表中的信息是,增加前积分,增加的积分,增加后积分
-----------------------------------
如果上面 ‘其他操作’ 这部分的执行时间变长了。
同时这期间又有 签到(+10 )这个操作 过来。
这时会不会出现,插入到 积分记录表 中的信息 不准确
如下:
增加前 0 分,增加了 5 分,增加后 5 分。
增加前 0 分,增加了 10 分,增加后 5 分。
------------
这种情况有可能会遇到么?如果会,解决的办法是是什么?多谢!
|
|
1
kaner 2016-06-18 18:48:55 +08:00
直接不见了?
|
|
|
2
yeyeye 2016-06-19 01:06:34 +08:00
锁表 其他查询就会等着这个操作完成后 才能查询到 你的问题就解决了
|