关于数据库重复插入判断的问题。-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于数据库重复插入判断的问题。

2016-07-04 11:44:37 1716 1

之前做过一个发红包的网页程序,当时遇到了一个很恐怖的情况,就是被人恶意刷红包。

数据库服务器用的是SQL Server。

在每条新记录插入前都会判断是否有重复的username字段的记录,如果该字段值的记录已经存在则不再插入新记录。

然而,对方刷包的速度非常快,每次插入请求只用了几十毫秒,而且同一请求会在1秒钟内发送数十次。

问题出现了,依然有重复用户名的记录被插入到数据库了,这让人很费解。怎么会出现这种情况呢?

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:50:35

    加username的唯一主键可勉强解决,不过不是最优方案。
    为什么会出现重复是因为并发控制是在应用程序中处理,比如A时刻和B时刻从数据库读取到都没有这个username,于是就各自执行插入,于是就重复了。

    0 0
相关问答

1

回答

关于数据库链接的问题

2018-09-27 10:27:31 458浏览量 回答数 1

3

回答

关于数据补充

2017-01-19 20:46:02 3952浏览量 回答数 3

1

回答

关于核心数据判定的问题

2016-05-27 11:38:09 1665浏览量 回答数 1

1

回答

关于数据盘的问题!

2015-12-29 11:19:59 3248浏览量 回答数 1

2

回答

关于虚拟空间数据库问题

2015-07-19 11:20:09 4349浏览量 回答数 2

4

回答

关于数据库迁移的问题。

2015-04-15 16:44:06 4763浏览量 回答数 4

7

回答

关于备案问题和数据库问题

2015-01-27 23:52:45 5120浏览量 回答数 7

2

回答

关于数据盘的问题!

2014-11-05 16:34:47 5261浏览量 回答数 2

3

回答

关于数据库修复问题!!

2014-07-27 09:51:31 8599浏览量 回答数 3

5

回答

关于大数据竞赛的问题

2014-03-11 09:34:42 7857浏览量 回答数 5
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载