社区
疑难问题
帖子详情
产生完全重复的记录的原因以及解决办法
lei_zeng
2019-01-18 10:01:08
业务场景:
1.当用户完成书写后提交审批。将在待审批的tasks表里面增加一行审批记录。填写字段为:taskid,提交的审批文件的id,发起人id,审批人id,动作,时间,其中时间是getdate,数据库的时间。
2.偶尔一个月左右会出现审批记录会产生2条的情况,很奇怪。
3.数据库:sql server 2012 x64.
4.用户数5000左右。图中的时间是晚上8点多,并发数很小。
...全文
331
7
打赏
收藏
产生完全重复的记录的原因以及解决办法
业务场景: 1.当用户完成书写后提交审批。将在待审批的tasks表里面增加一行审批记录。填写字段为:taskid,提交的审批文件的id,发起人id,审批人id,动作,时间,其中时间是getdate,数据库的时间。 2.偶尔一个月左右会出现审批记录会产生2条的情况,很奇怪。 3.数据库:sql server 2012 x64. 4.用户数5000左右。图中的时间是晚上8点多,并发数很小。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lei_zeng
2019-01-20
打赏
举报
回复
这三点都做过了,我之前也认为重复点击,但时间毫秒不差有点奇怪。
lei_zeng
2019-01-18
打赏
举报
回复
就是普通的insert into values的sql语句。
丰云
2019-01-18
打赏
举报
回复
没有代码,鬼才知道为什么。。。。
吉普赛的歌
2019-01-18
打赏
举报
回复
这种情况一般是程序在表单处没有做禁止重复提交的处理。 一般来说, 表单提交后, 如果速度很快, 是没有问题的。 但如果表单提交速度比较慢, 用户等不及, 又点了一次提交表单, 则出现这种情况。 处理方式: 1. 前端做防重复提交限制:点提交之后, 提交(或保存)按钮应该设置为禁止, 直到提交成功之后, 按钮才能改为可用。 2. 后端数据库设置一个唯一索引。 3. 在提交时判断是否已有相关记录,如果有则不再处理,并提示。 这样有三重保险就绝对没问题了。
dongmusic
2019-01-18
打赏
举报
回复
我也曾经遇到过这个问题,但也一直没有找到答案。
Dear SQL(燊)
2019-01-18
打赏
举报
回复
先去掉重复,需在表中设主键或唯一索引,再插入重复就会报错了
二月十六
2019-01-18
打赏
举报
回复
查看一下出现两条记录时的业务处理,是不是有存在调用两次的情况。 完全相同的加一个触发器判断不插入,但是治标不治本,还是得找到为什么插入了两次。
Windows内核-内存管理
- 缺页异常解决了什么问题 - 堆,栈这些内存是怎么申请的 - Windows内核情景分析 第三章 - 不管什么程序,除了程序代码本身所占用的空间外,程序在运行过程中总得使用一定的内存空间,...
删除
重复
记录
的SQL语句
有两个意义上的
重复
记录
,一是
完全
重复
的
记录
,也即所有字段均
重复
的
记录
,二是部分关键字段
重复
的
记录
,比如Name字段
重复
,而其他字段不一定
重复
或都
重复
可以忽略。 1、对于第一种
重复
,比较容易解决,使用 select distinct * from tableName 就可以得到无
重复
记录
的结果集。 如果该表需要删除
重复
的
记录
(
重复
记录
保留1条),可以按以下方法删除 select disti
MySQL之——查询
重复
记录
、删除
重复
记录
方法大全
查找所有
重复
标题的
记录
: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC 一、查找
重复
记录
1、查找全部
重复
记录
Select * From 表 Where
重复
字段 In (Select
重复
字段 From 表 Group
sql 查出一张表中
重复
的所有
记录
数据
方法二"
重复
记录
"有两个意义上的
重复
记录
,一是
完全
重复
的
记录
,也即所有字段均
重复
的
记录
,二是部分关键字段
重复
的
记录
,比如Name字段
重复
,而其他字段不一定
重复
或都
重复
可以忽略。2、删除表中多余的
重复
记录
,
重复
记录
是根据单个字段(peopleId)来判断,只留有rowid最小的
记录
。1、查找表中多余的
重复
记录
,
重复
记录
是根据单个字段(peopleId)来判断。4、删除表中多余的
重复
记录
(多个字段),只留有rowid最小的
记录
。5、查找表中多余的
重复
记录
(多个字段),不包含rowid最小的
记录
。
SQL
重复
记录
如何查询
最后一个select即得到了Name,Address不
重复
的结果集(但多了一个autoID字段,实际写时可以写。有两个意义上的
重复
记录
,一是
完全
重复
的
记录
,也即所有字段均
重复
的
记录
,二是部分关键字段重。假设有
重复
的字段为Name,Address,要求得到这两个字段唯一的结果集。复的
记录
,比如Name字段
重复
,而其他字段不一定
重复
或都
重复
可以忽略。如果该表需要删除
重复
的
记录
(
重复
记录
保留1条),可以按以下方法删除。现在就是需要查询出在该表中的各
记录
之间,“name”值存在
重复
的项;
疑难问题
22,210
社区成员
121,726
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章