sql2005 锁 和解锁

asd123123asd1sdf 2012-02-15 10:35:34
这样的一个需求,每天都只有一个中奖的名额。
用户在前台,执行一个抽奖的动。产生了一个随机的条件,然后判断当天的中奖记录表中有没有中奖用户,如果没有,用户的随机条件又符合中奖,就算此用户中奖,并且把记录插入到数据库中。
可是有时候确出现了一天两个用户中奖的情况,为什么这样了,因为是同时间并发执行的。判断的时候确实是没有中奖记录,结果就同时两个客户端执行了插入动作。

请问如何 锁 和解锁,防止这样的情况发生。需求很明白,大家应该都清楚了吧,谢谢。
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rock_Wu 2012-02-15
  • 打赏
  • 举报
回复
最简单的就是用队列
IT-Style 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sql77 的回复:]

引用 2 楼 asd123123asd1sdf 的回复:
顶一下

虽然你的具体操作没说(应该是你在判断中奖用户的时刻出现的),你建立中奖表时,把日期作唯一约束不就解决了
[/Quote]
好办法
SQL77 2012-02-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 asd123123asd1sdf 的回复:]
顶一下
[/Quote]
虽然你的具体操作没说(应该是你在判断中奖用户的时刻出现的),你建立中奖表时,把日期作唯一约束不就解决了

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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