jiangling_0103 发表于 2016-04-20 15:56

mysql 新手求助,关于同时修改一条记录

新手,求助下对于下面场景的解决方式的

我们Web UI 上会显示MySQL 中一条记录的信息,如果:

1. 用户A 在页面上点击编辑记录信息,然后在页面上修改相应的字段信息

2. 用户B 也打开了同一个记录的信息页面进行编辑

3. 用户A 编辑完字段信息后进行正式提交

4. 用户B 过了一会也更新完准备提交,但此时数据库中记录的信息已经不是用户B之前打开的信息,已经被用户A更新过了


针对这种情况的应该如何处理的? 还请大家帮忙指教啊,多谢

action08 发表于 2016-04-20 16:57

一般很少出现


真出现了,也没有办法,你们是怎么设计处理类似问题的?

action08 发表于 2016-04-20 16:59

目前业界通用的做法是加行锁

也不清楚你们项目的情况,最后问下架构师的呀

jiangling_0103 发表于 2016-04-20 17:22

我们现在想到的是在记录中加一个时间戳字段

用户提交的时候判断这个时间戳有没有变动的,有的话提示用户刷新页面的

不知道有没有其他好的方式的。。

action08 发表于 2016-04-20 23:17

严谨一点的解决方案是加锁,这个严禁的范畴指的是你写的代码准备管理核武器

你的方案也没大问题,弱点是时间戳来自哪里,如果出现竞拍这种会不会有争议

jiangling_0103 发表于 2016-04-21 09:42

好的,多谢,我去学习下加锁的机制的

stay_sun 发表于 2016-04-21 18:40

看业务   需要把   
页: [1]
查看完整版本: mysql 新手求助,关于同时修改一条记录