数据库如何避免读取脏数据?
多个客户端对登记单中的最后一条数据的登记单编号加1,然后插入数据,请问,如何避免读取到脏数据呢?也就是说刚刚读取到最后 一条,就有其他人插入了一条,如何杜绝这个问题?我使用的是EF
使用transaction
我写过一篇文章,是专门讲这个问题的:http://bibaoke.com/post/112
话说可不可以这样做,也不管它并发了,只要插入的时候发现登记单编号重复,重新查询便是,这样可以吗?总的客户端不多
这样是可以的。
事务也可以。
流水编号都是采用不可重复独立发放的,没有人是搞什么根据最后一条记录
就算你坚持要用传统模式做,也行。资源下载单独一个表,就1条记录. 分配流水号操作直接锁表,记录只加不减
所有人拿到的都是递增的,不会有重复。即使你2小时以后提交数据,流水号也没问题。
插入判断重复并不好,编号本来就是后台生成的,并非用户造成的错误,这报错前台用户看的一脸懵比
就像#5说的
建新表来记录流水号,获取流水号时锁表
进攻式编程,你在登记单编号建个唯一索引,执行插入重复的编号语句就会报不能在具有唯一索引的对象中插入重复键的行
数据库如何避免读取脏数据?相关推荐
- 记sentinel里防止多并发下读取脏数据的操作
阅读sentinel的contextutil.java文件里的代码时,发现了一个在高并发场景下防止读取脏数据的操作,代码截取如下: private static volatile Map<Str ...
- sqlite数据库插入和读取图片数据 (for ios)
为什么80%的码农都做不了架构师?>>> 在iOS下用sqlite数据库存储图片,先把你的图片转换成 NSData 形式,然后在数据库添加一行 blob 数据 假定数据库中存在 ...
- android读取excel数据库,Android 读取Excel数据并保存在本地数据库
在工作中遇到需要将Excel的数据读取出来并保存在本地数据库中的操作,数据如下: 图片.png 需要做以下准备: 读取Excel的jar包[文章末尾会分享该jar包] 保存数据的数据库框架,在这里我们 ...
- java 数据库数据写接口_Java读取接口数据并保存到数据库
public class Test05GetData { //guo sheng shi xian zhen cun的表结构完全一样.数据全部读取完毕之后再将数据整合到同一张表中 protected ...
- Python从数据库读取大量数据批量写入文件的方法
今天小编就为大家分享一篇Python从数据库读取大量数据批量写入文件的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将 ...
- 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上) 试读版
ABAP 标准培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍 ABAP 标准培训教程 BC400 学习笔记之二:Cross-client 和 Clien ...
- 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
在本文的前续篇章:如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上) 我们已经在系统里创建了两张数据库表 ZPERSON 和 ZMYORDERS, 并插入了对应的记录: 文章的 ...
- python读取串口数据保存到mysql数据库_Python3读取Excel数据存入MySQL的方法
Python是数据分析的强大利器. 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python3如何使用xlrd读取 ...
- SQLite数据库如何存储和读取二进制数据
1. 存储二进制数据 SQLite提供的绑定二进制参数接口函数为: int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n ...
- python读取sqlserver的数据_Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例...
本文实例讲述了Python实现读取SQLServer数据并插入到MongoDB数据库的方法.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- import pyodbc ...
最新文章
- 在Vivado中,使用锁定增量编译技术进行增量综合布局布线
- 跟我一起写 Makefile(三)
- 如何让你瞬间拥有百万粉丝 前端F12的那些装X小技巧
- Matlab仿真PID控制(带M文件、simulink截图和参数分析)
- IE下get传中文乱码的问题完美解决方案
- php微信公众平台开发获取access_token,用CURL出现certificate verify failed错误的解决方法...
- JAVA 表格组件 + rs.beforeFirst()使用
- Objective-c nil, Nil, NULL和NSNull的区别
- 什么是MySQL集群?带你全面掌握MySQL集群原理
- win10无法修改mac地址_Oops,手机MAC地址也可以随机了
- 微信新表情真的太骚了!!
- ios和android适配问题,小程序的iOS和Android兼容问题
- C1/C1/C2 カバレッジについて
- 北理工计算机学院隋秀峰,吴俊敏(计算机科学与技术学院)老师 - 中国科学技术大学 - 院校大全...
- 3D-2D三维重建:PnP
- sprintf() 用法
- SAP 固定资产减值准备的处理方法
- 生化危机4(来生/恶灵古堡IV)DVD/700M发布
- 在del.icio.us , blinklist 和9Fav之间共享收藏
- java catch抛出异常_java异常——捕获异常+再次抛出异常与异常链
热门文章
- Android 实现 Alexa App-to-App Account Linking
- 安卓仿苹果键盘输入法_仿ios输入法安卓版
- 简短的爬虫程序,14行Python代码轻松实现爬取网站视频
- 同构 JavaScript 应用开发
- 如何将wmv视频格式快速转换成mp4视频呢
- Windows 95, 98, Me 的界面对比(图集)(原文于2016-03-26发布于贴吧)
- C语言标准库写倒计时/已逝时间
- Mac/Linux/Windos下仿站工具,基于Python的仿站工具,earnp/imitation仿站工具发布
- 见证“开放式多路供水”的技术难度应大于人类上天!
- Vue框架Element UI教程