数据库中 用户使用旧数据进行更新 如何保证更新必定失败

发布于 2022-09-12 13:08:25 字数 334 浏览 33 评论 0

问题描述

假设当前有数据库表,其中一个字段为权重,现有数据行ABCD,其权重字段的值为1234;
在某一刻甲打开页面,对其进行查看;
然后乙在甲之后,对数据库进行操作,插入数据E,其权重为5,并随后调整权重为A-1 B-5 C-3 D-4 E-2;
在乙完成所有操作后,甲从前端进行编辑,调整权重为 A-1 B-3 C-2 D-4,并点击保存进行提交。
请问如何保证甲的更新失败?

个人想法

由于乙的事务已经提交完成,甲更新的时候并不存在数据库锁的问题,因此希望借版本锁进行处理,即甲更新时版本不对,则直接抛出错误,并让前端刷新页面

但是我的组长说不对,让我自己好好想想。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

秋意浓 2022-09-19 13:08:25

你是不是想复杂了,你直接在更新时判断一下修改前的值是否与数据库的值是否一致,如果不一致,说明数据被更新过,那边就进行提示.就这样不就行了

哆啦不做梦 2022-09-19 13:08:25

如果客户端最新请求时间戳小于数据库最新提交修改的时间戳就让它失败再刷新页面更新一下,怎么样?

带上头具痛哭 2022-09-19 13:08:25

如果说前端提交的数据只有修改后,那么后台层面怎么判断,甲是对照最新数据修改的还是对照着旧数据修改的?要不就是敏感数据,权限定死,或者编辑页面频繁更新一下最新数据等等把。

海未深 2022-09-19 13:08:25

update where子句加上旧数据条件

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文