java数据库数据安全

中华雪碧 2013-03-01 02:50:57
比赛表 match
match_id mantch_name max_num
1 xxx杯比赛 100
2 AAA杯比赛 200

比赛报名表 match_register
register_id match_id user_id
1 1 002

报名的最大人数不能超过match.max_num.
我的做法:
在用户报名xxx杯比赛时
select count(*) from match_register where match_id=1
if(count(*)>=match.max_num)
return报名人数满,
else
insert into match_register.
集中报名时,报名人数还是会超出max_num。
数据库设计是否合理?怎么保证报名的最大人数不能超过match.max_num?
...全文
201 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
中华雪碧 2013-03-08
  • 打赏
  • 举报
回复
引用 7 楼 huimiezu 的回复:
insert into match_register. return "申请成功!报名是否有效请看通知!"; 以下是后台单例定时执行 select count(*) from match_register where match_id=1 if(count(*)>match.max_num){ delete match_register where .……
也是个方法。。。
huimiezu 2013-03-06
  • 打赏
  • 举报
回复
insert into match_register. return "申请成功!报名是否有效请看通知!"; 以下是后台单例定时执行 select count(*) from match_register where match_id=1 if(count(*)>match.max_num){ delete match_register where ...;//删除最晚报名的人 return "报名人数满";//给那个人发消息 }
且活且珍惜 2013-03-06
  • 打赏
  • 举报
回复
加版本号字段
中华雪碧 2013-03-05
  • 打赏
  • 举报
回复
没人回答。。。。
中华雪碧 2013-03-04
  • 打赏
  • 举报
回复
引用 3 楼 paneyjiang 的回复:
同步啊,给你这个报名方法做同步啊
同步,多用户报名一个项目时可以。多用户报名不同的项目,感觉这样的效率低
paneyjiang 2013-03-01
  • 打赏
  • 举报
回复
同步啊,给你这个报名方法做同步啊
中华雪碧 2013-03-01
  • 打赏
  • 举报
回复
引用 1 楼 paneyjiang 的回复:
如果只有一个人操作报名,那么你这个方法应是可行的,如果存在并发,那你这个方法就得同步,否则会出现你说的情况
一个人操作是没问题。具体应该怎么改。。。
paneyjiang 2013-03-01
  • 打赏
  • 举报
回复
如果只有一个人操作报名,那么你这个方法应是可行的,如果存在并发,那你这个方法就得同步,否则会出现你说的情况

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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