锁定问题。

autismxu 2004-06-22 10:23:08
怎样锁定一行数据不让别的用户select ?
...全文
146 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
autismxu 2004-06-22
  • 打赏
  • 举报
回复
是啊,我现在就是想要不能选择。因为那样可以避免两个用户都争一条纪录。有没有什么好的解决方案呢。
autismxu 2004-06-22
  • 打赏
  • 举报
回复
那么会不会存在这种情况:
第一个用户读了这条纪录,并且修改标识字段。
第二个用户在第一个用户还没把修改后的数据写回数据库之前就select 了这条纪录。
并且在第一个用户修改完存回后,第二个用户也跟着修改纪录并存盘,。
那么第一个用户所作的修改就消失了。
dinya2003 2004-06-22
  • 打赏
  • 举报
回复
select * from ...for update可以限制两个人不能同时改数据,但是不能选择,还不知道怎么做,
freddy2003 2004-06-22
  • 打赏
  • 举报
回复
你可以在第一用户访问此记录时,在此字段写入他的ID,
下一个用户只能访问此字段为空的记录
freddy2003 2004-06-22
  • 打赏
  • 举报
回复
你可以在第一用户访问此记录时,在此字段写入他的ID,
下一个用只能访问此字段为空的
autismxu 2004-06-22
  • 打赏
  • 举报
回复
不是那个意思。
我现在是要处理并发访问。
就是当两个用户先后访问一条数据的时候,我要后访问的用户检索不到前面用户正在处理的这条数据。
这样就避免一个用户改了,另外一个用户查到的时候没改,但是他再存数据的时候就覆盖了先前修改的纪录。
freddy2003 2004-06-22
  • 打赏
  • 举报
回复
你可以添加一个字段,来存放标志,比如1,0
1:可以访问
0:不可访问

17,377

社区成员

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

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