mysql判断数据库记录是否存在

在开发管理平台时,需要校验系统编号的唯一性。本文探讨了两种判断MySQL数据库记录是否存在的方法:一是利用唯一索引并捕获异常,优点是减少数据库操作但需处理异常;二是先查询再插入,可通过count(1)或count(*)以及limit查询。前者避免额外查询,后者确保查询效率,但需考虑全表扫描和索引使用。
摘要由CSDN通过智能技术生成

背景

业务方要做一个管理平台,在该平台上可以维护系统信息,提供新增、更新、删除等操作。就是我们常说的CRUD开发,因为对于每个系统来说,系统编号具有唯一性,所以在新增系统时要先校验系统编号是否存在。

开篇提问

1、思考:判断一条记录是否存在有几种方式,哪种方式更合理效率更高?
2、如何判断表中是否有数据?

判断方式

方式一:使用唯一索引

使用唯一索引,插入数据前不判断,通过捕获异常来处理
优点:减少一次数据库操作
缺点:需要处理异常逻辑

相关SQL

-- 建表语句(sys_code设置成唯一索引)
CREATE TABLE `system_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `sys_code` varchar(100) COLLATE utf8mb4_bin NOT NULL DEFAULT '' COMMENT '系统code'
  PRIMARY KEY (`id`),
  -- 增加唯一索引
  UNIQUE 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值