多用户同时对数据库中的表进行操作

LengYueFengCai 2012-09-05 05:55:08
在我的网站中,打开一条合同信息,然后进行修改,保持修改状态并未提交,然后用另一个用户重新登录,对这个合同进行修改然后修改,提交成功,先前打开的信息没后更新,然后再提交会覆盖刚才修改的内容,这种现象怎么避免。
...全文
455 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangtu 2012-09-13
  • 打赏
  • 举报
回复
还可以增加一个版本字段,改一次,数据库中保存一条新的记录,并且就版本加1,这样能同时存在多个版本。
西伯利亚猫 2012-09-05
  • 打赏
  • 举报
回复
一楼的回答已经很明白了
cxw3152 2012-09-05
  • 打赏
  • 举报
回复
按照常理来说。。这样的修改是正常的。。
MiceRice 2012-09-05
  • 打赏
  • 举报
回复
一条合同多个人修改,这需求本身就有点不太合理,不过想解决的话,可以考虑两种做法:
◎ 乐观锁
1、表中增加:最后修改时间、最后修改人;
2、打开时就读取最后修改时间和修改人信息;
3、保存是检查最后修改时间和修改人信息是否匹配,如果不匹配就警告:在你修改途中,已经有别人做过修改了,如果保存就会覆盖别人的劳动成果。

◎ 悲观锁
1、表中增加:正在修改时间、正在修改人;
2、打开时检查是否有“正在修改时间”和“正在修改人”,如果有则警告是否强制继续修改;
3、更新正在修改时间和修改人信息;
4、保存时清除“正在修改时间”和“正在修改人”。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧