记一个逻辑bug
2024-10-15 00:20:18
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号题目
最终的结果就是多个用户选了同一个题目
怎么解决?
用户在执行第二步的时候先判断这个题目是否已经被选
最新文章
- python之初级学习
- 怎样按xc或yc转正视图
- Ubuntu下修改system.img 解包system.img、打包system.img
- NHibernate使用ICriteria分页并返回数据库记录总条数
- 禁用缓存的过滤器Filter
- Spring boot配合Spring session(redis)遇到的错误
- sys.argv[]基本用法
- Android动画之硬件加速
- 【学习笔记】锋利的jQuery(二)DOM操作
- 数据库文件导入导出操作,以及赋予权限SQL语句
- Javacript的变量和输出
- 关于 Git使用的全面总结 —— 致敬Git之父Linux
- 从零开始搭建springboot+mybatis+thymeleaf增删改查示例
- App阅读pdf和扫描二维码功能
- MFC控件编程之组合框跟列表框
- 查看和指定SpringBoot内嵌Tomcat的版本
- Codeforces 983C Elevator dp (看题解)
- Hybrid设计--H5和Native,收口
- linux 时间相关的一些总结
- ORACLE 执行计划
热门文章
- iframe嵌套页面 音频在微信公众号环境无法播放
- Algorithm in Practice - Sorting and Searching
- Linux——makefile编写
- ACM Strange fuction
- Django 缓存模块 page_cache 源码阅读
- Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路
- 对于给定的整数集合S,求出最大的d,使得a+b+c=d。
- Java基础之枚举妙用
- Nginx的负载均衡 - 保持会话 (ip_hash)
- 字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理