Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

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

问题描述

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

个人想法

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...