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号题目

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

怎么解决?

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

最新文章

  1. python之初级学习
  2. 怎样按xc或yc转正视图
  3. Ubuntu下修改system.img 解包system.img、打包system.img
  4. NHibernate使用ICriteria分页并返回数据库记录总条数
  5. 禁用缓存的过滤器Filter
  6. Spring boot配合Spring session(redis)遇到的错误
  7. sys.argv[]基本用法
  8. Android动画之硬件加速
  9. 【学习笔记】锋利的jQuery(二)DOM操作
  10. 数据库文件导入导出操作,以及赋予权限SQL语句
  11. Javacript的变量和输出
  12. 关于 Git使用的全面总结 —— 致敬Git之父Linux
  13. 从零开始搭建springboot+mybatis+thymeleaf增删改查示例
  14. App阅读pdf和扫描二维码功能
  15. MFC控件编程之组合框跟列表框
  16. 查看和指定SpringBoot内嵌Tomcat的版本
  17. Codeforces 983C Elevator dp (看题解)
  18. Hybrid设计--H5和Native,收口
  19. linux 时间相关的一些总结
  20. ORACLE 执行计划

热门文章

  1. iframe嵌套页面 音频在微信公众号环境无法播放
  2. Algorithm in Practice - Sorting and Searching
  3. Linux——makefile编写
  4. ACM Strange fuction
  5. Django 缓存模块 page_cache 源码阅读
  6. Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路
  7. 对于给定的整数集合S,求出最大的d,使得a+b+c=d。
  8. Java基础之枚举妙用
  9. Nginx的负载均衡 - 保持会话 (ip_hash)
  10. 字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理