0
点赞
收藏
分享

微信扫一扫

记一个逻辑bug

mafa1993 2022-08-18 阅读 151


1     从数据库中找出一个学生能选的毕业设计(毕设的select or not 字段表示本题目是否已经被选 此时就按照其值为n来查询)

2     用户选择某个毕设后,先更新毕设表(select or not 字段置y 默认为n,选择后就是y),同时在新的一张表中记录某个用户选了某个题目

最后发现多个学生选了同一个毕设



最后发现了一个逻辑bug

我本来以为经过第一步后的毕设题目都是这个学生能选的,所以在第二步就没有判断这个题目是否还能选

但问题就恰恰出在这:

用户a提交请求获得10个题目

然后用户b提交请求也获得10个题目(用户a和用户表b权限一致,取出的题目是一样的),然后用户b选择了t3号题目

此时a的页面上,t3号题目还显示着(如果此时刷新一下就没有t3了),用户a选择了t3号题目


最终的结果就是多个用户选了同一个题目

怎么解决?

用户在执行第二步的时候先判断这个题目是否已经被选

举报

相关推荐

0 条评论