社区
Oracle
帖子详情
怎么保证并发操作时,唯一字段不会被重复?
dawangcat
2019-09-11 10:17:30
做一个资产管理系统,前端每次新增一件资产就会自动生成一个新的资产编号(数据库中要求资产编号唯一),批量新增后再保存到数据库,为了保证并发操作时资产编号不会重复占用,现在的做法是:前端新增记录时,先在表中插入新生成的资产编号,状态设为0,提交的时候更新记录,状态改为1,但是会出现一个问题:如果因为异常导致页面关闭,这条记录会一直存在数据库中,请问有什么好的方法解决?比如事务,锁什么的,我自己查了资料,还是没有思路,想请教下各位,感谢。
...全文
317
3
打赏
收藏
怎么保证并发操作时,唯一字段不会被重复?
做一个资产管理系统,前端每次新增一件资产就会自动生成一个新的资产编号(数据库中要求资产编号唯一),批量新增后再保存到数据库,为了保证并发操作时资产编号不会重复占用,现在的做法是:前端新增记录时,先在表中插入新生成的资产编号,状态设为0,提交的时候更新记录,状态改为1,但是会出现一个问题:如果因为异常导致页面关闭,这条记录会一直存在数据库中,请问有什么好的方法解决?比如事务,锁什么的,我自己查了资料,还是没有思路,想请教下各位,感谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dawangcat
2019-09-11
打赏
举报
回复
引用 1 楼 卖水果的net 的回复:
使用序列,能解决你的这个问题。
但是,可能会造成“断号”的情况,能接受不?
大致明白了,谢谢,我先试下。
卖水果的net
2019-09-11
打赏
举报
回复
使用序列,能解决你的这个问题。 但是,可能会造成“断号”的情况,能接受不?
weixin_40290083
2019-09-11
打赏
举报
回复
oracle使用序列,它没有属性自增的设置,mysql有,无论使用自增还是序列,如果有删除,就会存在断号,自己定义容易造成冲突
Tianlesoftware Oracle 学习手册(v1.0)高清完整PDF版
Tianlesoftware Oracle 学习手册(v1.0)
mysql数据库在高
并发
场景下
重复
插入如何
保证
唯一
性解决方案
mysql数据库在高
并发
场景下
重复
插入如何
保证
唯一
性解决方案高
并发
场景简单粗暴前后端都做防
重复
操作
mysql表加
唯一
索引使用redis缓存 高
并发
场景 在高
并发
场景中,经常会遇到
并发
重复
数据插入,没有
唯一
索引(比如有逻辑删除)却要
保证
唯一
性的问题。比如分布式告警计算中,多个计算实例同
时
计算出同一个告警并同
时
插入相同的告警记录到数据库中,这
时
应该只插入一条记录。本文分析了在MySQL的InnoDB引擎中解决这类的问题的4种思路和相关方案。 简单粗暴 直接每条select, 判断,然后insert,毫无疑问,这
幂等性与
并发
(表单
重复
提交和
并发
增删改及校验
唯一
操作
场景)
幂等性与
并发
---表单
重复
提交和
并发
增删改及校验
唯一
操作
场景
并发
更新
操作
并发
插入
操作
(单用户
重复
提交)
并发
校验
唯一
操作
并发
更新
操作
先说乐观锁version 表t1
字段
v值为1, 先select当前版本号1 同
时
更新...
明明加了
唯一
索引,为什么还是产生
重复
数据?
前段
时
间我踩过一个坑:在mysql8的一张innodb引擎的表中,加了
唯一
索引,但最后发现数据竟然还是
重复
了。到底怎么回事呢?本文通过一次踩坑经历,聊聊
唯一
索引,一些有意思的知识点。
MySQL根据某一个或者多个
字段
查找
重复
数据,并且保留某
字段
值最大的记录
问题场景当系统没有处理好
并发
操作
的情况下,
操作
人员同
时
操作
一张表的情况下,数据库有可能被插入相同记录,这些会带来隐藏的bug。解决思路一解决
并发
操作
的冲突。解决思路二对数据库(MySQL)某张表去重,首先确定你的业务是否允许
重复
,不允许你
重复
的话可以建立
唯一
索引和联合
唯一
索引来
保证
记录不
重复
,但如果出现了
重复
记录,怎么办?请看下文。情况一:对一个
字段
查找
重复
记录表数据: a. 首先根据sample
Oracle
17,140
社区成员
55,259
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章