mysql唯一索引在java中用作异常处理方法

2023-12-29

我想知道在java中根据sql的唯一索引捕获异常是否是一个好主意。

我想捕获像“1-0 的重复条目”这样的异常,如果是这样,则处理异常,否则正确插入数据库表中?


我说你不要这样做,有两个原因:

  • 错误消息有点不清楚:错误 1062 (23000):密钥 1 的条目“xxx”重复。您总是 100% 确定哪个键是 1 吗?
  • 它将您锁定到特定的数据库供应商

我发现更简单交易地:

  • 检查行是否存在;
  • 如果该行已经存在则抛出异常;
  • 插入新行。

性能问题:

I say 测量两次,切割一次。描述您的特定用例的使用情况。我想说的是,除了大量的数据库使用场景之外,性能不会成为问题。

原因是一旦你执行了SELECT在该特定行上,其数据将被放置在数据库缓存中,并且立即地用于对索引进行插入检查INSERT陈述。另请记住,此访问由索引支持,因此得出的结论是性能不会成为问题。

但是,一如既往,一定要测量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql唯一索引在java中用作异常处理方法 的相关文章

  • javax.naming.NameNotFoundException

    我正在 JBoss 5 容器中运行 ejb 示例 我正在使用一个例子从这里开始 第一部分 http www roseindia net jboss jboss 3 2 shtml 在示例中 我在 JBoss 中部署了 bean 并在 Tom
  • 如何将从 MySQL 获取的数据以 JSON 形式返回到 php 文件中?

    我必须将从 MySQL 表中获取的数据作为 JSON 返回到 php 文件中 这是我连接到 mysql 并从中获取数据的代码 现在我怎么能将它作为 JSON 返回呢
  • 当目标是属性时,@Throws 不起作用

    在看的同时这个问题 https stackoverflow com q 47737288 7366707 我注意到申请 Throws to a get or setuse site 没有影响 此外 唯一有效的目标 for Throws ar
  • 关于java中同步的问题;何时/如何/到什么程度

    我正在开发我的第一个多线程程序 并在同步的几个方面陷入困境 我已经浏览了 oracle sun 主页上的多线程教程 以及这里的一些关于 SO 的问题 所以我相信我知道什么是同步 然而 正如我提到的 有几个方面我不太确定如何弄清楚 我以明确问
  • Spring的@PreDestroy导致随机记录而不记录

    我正在使用 Spring 并且在终止时我让 PreDestroy 清理 bean 我不明白为什么日志记录有时会成功 而有时会失败 Using Log4j2 Logger log LogManager getLogger MyClass cl
  • 使用单个查询和每用户密码盐进行用户登录

    我决定使用存储在数据库中的每用户盐来实现用户登录 盐作为密码的前缀 该密码使用 SHA 进行哈希处理并存储在数据库中 过去 当我不使用盐时 我会使用典型的方法 使用用户输入的用户名和密码来计算查询返回的行数 然而 对于每个用户的盐 您需要先
  • Java ZIP - 如何解压缩文件夹?

    是否有任何示例代码 如何将 ZIP 中的文件夹部分解压到我想要的目录中 我已将文件夹 FOLDER 中的所有文件读取到字节数组中 如何从其文件结构创建 我不确定你所说的部分是什么意思 您的意思是在没有 API 帮助的情况下自己完成吗 如果您
  • MySQL 如何使用返回多行的 SELECT 子查询插入表?

    MySQL 如何使用返回多行的 SELECT 子查询插入表 INSERT INTO Results People names VALUES SELECT d id FROM Names f JOIN People d ON d id f i
  • 如何在生产中安全地更改会话 cookie 域或名称?

    我们最近意识到我们的会话 cookie 正在被写入我们网站的完全限定域名 www myapp com 例如 MYAPPCOOKIE 79D5DB83 domain www myapp com 我们希望将其切换为可以跨子域共享的cookie
  • 在 MySQL 表中存储用户密码的最佳 PHP 哈希方法?

    我已经阅读 Stack Overflow 问题大约 15 分钟了 每一个问题似乎都与我之前读到的问题相矛盾 Bcrypt SHA1 MD5 等 我目前对我的密码进行 MD5 但我想让我的数据库在发生泄露时更加安全 我知道这个问题已经被问了一
  • 改造添加带有令牌和 ID 的标头

    我在获取经过身份验证的用户时遇到问题 在此之前我得到了令牌和用户 ID 现在我需要使用访问令牌和 ID 从服务器获取用户 我有标题格式 https i stack imgur com OQ87Y png 现在我尝试使用拦截器添加带有用户令牌
  • 在单独的模块中使用 Spring AOP 方面

    我在一个 Maven 项目模块中有一个方面 com x NiceAspect 在一个单独的 Maven 模块中有一个类 com x NiceClass 这些模块具有相同的 POM 父级 共同创建一个项目 我想要实现的目标是拥有一个通用的方面
  • 严格标准:资源 ID#73 用作偏移量,转换为整数

    我使用这个 PHP 函数获取 MySql 结果 function fetcharray query id if query id query id this gt query res if query id this gt q array
  • 如何在打开导航抽屉时使背景 Activity 变小?

    我想做我的背景Activity打开时稍微小一点Navigation Drawer 模拟存在的效果Airbnb应用 我想最好的解释是截图 但重点不是让 View 变小 而是让它成为与 Drawer 打开 关闭动画同步的动画 因此 如果您开始打
  • Spring Oauth2. DaoAuthenticationProvider 中未设置密码编码器

    我对 Spring Oauth 和 Spring Security 很陌生 我正在尝试在我的项目中使用 client credentials 流程 现在 我设法使用自己的 CustomDetailsS ervice 来从系统中已存在的数据库
  • Pandas 使用什么规则来生成视图和副本?

    我对 Pandas 在决定数据帧中的选择是原始数据帧的副本或原始数据帧的视图时使用的规则感到困惑 例如 如果我有 df pd DataFrame np random randn 8 8 columns list ABCDEFGH index
  • 注释处理工具<-检查有效注释

    I have ColumnMetadata index 1 ColumnMetadata index 2 ColumnMetadata index 3 我必须使用 APT 检查索引号是否唯一 我不知道该怎么做 我看不懂教程 一般我在网上找资
  • 使用基于Optional内容的流

    我从不受我控制的服务获取可能为空的地图 并且想要处理它 比方说 过滤 映射并减少到我需要的单个元素 问题 是否有从Optional到Stream的 链接 我尝试过 除其他外 return Optional ofNullable getMap
  • 如何在服务器上获取球衣日志?

    我正在使用球衣进行 REST WS 如何在服务器端启用球衣日志 很长的故事 我收到客户端异常 但我在 tomcat 日志中没有看到任何内容 它甚至没有到达我的方法 由于堆栈跟踪显示 toReturnValue 它确实从服务器获取了一些内容
  • JAAS keytab 配置的相对路径

    我有一个系统 其中 NET 客户端使用 Kerberos 针对 Java 服务器进行身份验证 一切正常 但我正在尝试改进服务器配置 目前一个keytab根目录中需要文件C 因为我的jaas配置文件看起来像这样 Server com sun

随机推荐

  • observablelist何时产生更新变化事件?

    我在不同条件下尝试了不同的集合 但我能够收到的所有更改都是排列 添加 删除和替换更改 在什么情况下会出现更新变化 产生此类事件需要什么基类 什么存储类以及什么操作 要生成更新事件 您必须创建一个ObservableList与提取器 http
  • 通过回调绕过 hCaptcha?

    你好 我正在尝试使用 2captcha 绕过在一个名为 stake games 的网站中绕过 hCaptcha 但它似乎不起作用 我收到了绕过代码 但是当我在 grecaptcha response 和 hcaptcha response
  • 通过覆盖旧密码插入新密码

    在 yii 中我正在创建项目 验证用户输入的电子邮件后 我显示了password php 文件 该文件具有用于输入新密码的文本字段 密码 php
  • chrome:页面源和检查元素的区别?

    Chrome 15 中 查看页面源代码 中的 html 和检查元素有什么区别 看起来像2个不同的html 查看页面源页面向您显示服务器返回的确切文本 检查元素实际上向您显示了完全渲染的DOM tree https www w3schools
  • 使用 BigDecimal 限制有效数字的任何巧妙方法

    我想对 Java 进行四舍五入BigDecimal到一定数量的有效数字 不是小数位 例如至 4 位数字 12 3456 gt 12 35 123 456 gt 123 5 123456 gt 123500 等等 基本问题是如何找到的数量级B
  • iOS HealthKit 如何保存心率(bpm)值?迅速

    使用方法 HKUnit 样本类型 单位类型 单位名称 单位字符串 心率计数 时间每分钟心跳数 计数 分钟 Swift 心率 bpm 保存到 healthkit 商店 private func saveHeartRateIntoHealthS
  • 使用阻塞长同步操作会暂停 Node.js 中的所有用户吗?

    如果我有一个 SMTP 服务器 例如haraka https github com haraka Haraka 或网络服务器 如Express https github com strongloop express 使用 Node js 并
  • JavaFX LineChart 不画圆?

    该图表显示了问题 我有 JavaFX 程序来计算数据并绘制图表 但为什么点没有正确连接 我尝试了很多事情 甚至创建了两个单独的系列 但它不起作用 public void createScatterChart final NumberAxis
  • vk.com 中使用 zend_oauth 进行身份验证时出现问题

    vk com 中使用 zend oauth 进行身份验证时出现问题 信息 HTTP 请求中出现错误 无法在 TCP 连接 oauth vk com 上启用加密 确保为环境正确设置了 sslcafile 或 sslcapath 选项 请帮帮我
  • 关于跨平台项目中网络语言互操作性的问题[已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我计划使用 AngularJS 在 iOS Android 上创建一个应用程序和一个网站 但为了不必在每个应用程序上重写业务代码 我希望重用尽可
  • 检查日期范围(开始日期和结束日期)是否重叠

    function checkDateOverlap ranges res ranges 0 countRanges count ranges for i 0 i lt countRanges i r1s res start r1e res
  • 谷歌计算引擎工具 gcloud 非常慢

    我尝试下载并使用 gcloud bash 工具来管理我的帐户 但是我使用该工具执行的所有操作都非常慢 回复键入的命令需要几分钟的时间 我是否需要在路由器上打开防火墙或其他东西才能使其像预期的那样快速工作 例如 该视频中的 正在安装 行htt
  • React 测试 Fake XMLHttpRequest

    我正在为某人的应用程序编写一些测试代码 我是专门为 React 编写测试的新手 在组件内部的一个方法中 一个新的XMLHttpRequest对象被实例化 然后像这样使用 var myModal React createClass postR
  • UITextView 上的 beginResponder 不起作用

    由于某种原因 我无法将文本字段设置为第一响应者 我有一个包含两行的 UITableView 每行都有一个标签和一个 UITextField 文本字段标记为 kLoginRowIndex 0 和 kPasswordRowIndex 1 您可能
  • MySQL查看性能

    我有一个大约有 100 000 个用户的表 第一个案例 explain select state count as cnt from users where state ca 当我为上述查询执行解释计划时 我得到的成本为 5200 第二种情
  • 如何在不激活摄像头的情况下确定 Windows 10 上是否正在使用网络摄像头?

    在 Windows 10 上 如何确定连接的网络摄像头当前是否处于活动状态 而无需在摄像头关闭时将其打开 目前 我可以尝试使用相机拍照 如果失败 则假设相机正在使用中 但是 这意味着摄像头的活动 LED 将打开 因为摄像头正在使用 由于我想
  • 表单未提交隐藏输入

    代码中有隐藏的输入 默认情况下必须为 TRY 并且可以使用下拉框进行更改 代码 HTML div class form group div
  • 有没有办法从 Angular 的缓存中获取所有键,特别是模板缓存?

    有没有办法从 Angular 的缓存中获取所有键 特别是模板缓存 我在文档中没有看到任何有关如何执行此操作的信息 cacheFactory http docs angularjs org dev appspot com api ng 24c
  • ASP.NET MVC - 混合自定义和默认模型绑定

    我有一个类型 public class IssueForm Order Order get set Item Item get set Range Range get set 由于订单和项目的要求 我创建了一个自定义模型绑定器 但范围仍然可
  • mysql唯一索引在java中用作异常处理方法

    我想知道在java中根据sql的唯一索引捕获异常是否是一个好主意 我想捕获像 1 0 的重复条目 这样的异常 如果是这样 则处理异常 否则正确插入数据库表中 我说你不要这样做 有两个原因 错误消息有点不清楚 错误 1062 23000 密钥