MySQL如何锁定一条记录?

阚雷--闞靁 2012-07-01 04:04:33
开发一个酒店管理系统, 要防止多个服务员为不同顾客同时点击分配了同一个房间。类似情况如售卖火车票的系统,防止多个网点同时点击出售同一个铺位。该怎么做呢?假设用Delphi做,该怎么实现这个功能?
...全文
497 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxp200402 2012-07-12
  • 打赏
  • 举报
回复
给房间状态一个标志位,分配房间前判断这个标志位
sz0557it 2012-07-03
  • 打赏
  • 举报
回复
作一下标记。这个标记可以是冻结标记。一般都是这样设置的。
祥元 2012-07-03
  • 打赏
  • 举报
回复
在修改或者新增的时候,加一个检测。

如果已订出,则返回并提示
否则订房。
7年 2012-07-02
  • 打赏
  • 举报
回复
这样的情况最好用线程的临界区来做
YueLingYueLiang 2012-07-02
  • 打赏
  • 举报
回复
在数据库设值,写sql语句,当点击分配之后,为房间的设值为0,没分配的设为1,为值为0的分配时会有提示~~都是sql代码~~
编程保姆 2012-07-02
  • 打赏
  • 举报
回复
---补充,现时还没有这么先进的关系数据库的记录锁。一般做法是:第一个用户
先挑房的先得,同时写入标识值【如2楼】,第二个用户挑房时就会出现提示!

但假设在写入标识的过程序,第二个用户刚好也挑房,这时数据库进入行锁(自动的),直到
第一个用户写入标识完成提交后才回应第二个用户的动作,在这个交互过程中,速度很快,用户感受不到
迟顿时的感觉得的。

---本人写过酒店管理系统,说得不对多多包函!
阿三 2012-07-02
  • 打赏
  • 举报
回复
在提交那一时刻进行判断.

同时数据库加锁控制。
山东蓝鸟贵薪 2012-07-01
  • 打赏
  • 举报
回复
可以设置一个参数,
当这个参数为 FALSE时,不可操作
为TRUE时可以操作

2,498

社区成员

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

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