怎么保证并发操作时,唯一字段不会被重复?

dawangcat 2019-09-11 10:17:30
做一个资产管理系统,前端每次新增一件资产就会自动生成一个新的资产编号(数据库中要求资产编号唯一),批量新增后再保存到数据库,为了保证并发操作时资产编号不会重复占用,现在的做法是:前端新增记录时,先在表中插入新生成的资产编号,状态设为0,提交的时候更新记录,状态改为1,但是会出现一个问题:如果因为异常导致页面关闭,这条记录会一直存在数据库中,请问有什么好的方法解决?比如事务,锁什么的,我自己查了资料,还是没有思路,想请教下各位,感谢。
...全文
317 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawangcat 2019-09-11
  • 打赏
  • 举报
回复
引用 1 楼 卖水果的net 的回复:
使用序列,能解决你的这个问题。

但是,可能会造成“断号”的情况,能接受不?


大致明白了,谢谢,我先试下。
卖水果的net 2019-09-11
  • 打赏
  • 举报
回复
使用序列,能解决你的这个问题。 但是,可能会造成“断号”的情况,能接受不?
weixin_40290083 2019-09-11
  • 打赏
  • 举报
回复
oracle使用序列,它没有属性自增的设置,mysql有,无论使用自增还是序列,如果有删除,就会存在断号,自己定义容易造成冲突

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧