最后一天学习javaWeb——一个困扰我的问题!!

文章讨论了在HeidiSQL中删除记录后id不重置的原因,包括数据唯一性、性能、逻辑一致性及避免并发冲突等。作者还提到了在图书管理系统中可能遇到的情况和处理方式。
摘要由CSDN通过智能技术生成

为什么在使用HeidiSQL的时候在删除一个具有特定 id 的记录后,新添加的记录的 id 值不是重新开始计数,而是从原来的值继续递增。

哎,,单纯的我实在是想不明白为什么会这样,难道重新计数不是很好嘛??这样连续下去,不是更好吗?如果重原来的值重新递增那不是会空几个id吗??

真正的真相:

这种行为在关系型数据库中是正常的,主要有以下几个原因:

  1. 唯一性id 通常被视为记录的唯一标识符。如果每次删除记录后都重置 id,那么可能会引入重复的 id,从而破坏数据的唯一性。
  2. 性能: 在许多数据库系统中,连续的 id 值可以提高查询性能,因为它们可以被有效地索引。重置 id 会导致索引重建或碎片化,影响性能。
  3. 逻辑一致性: 如果你的应用程序依赖于连续的 id 值,那么删除记录后重置 id 可能会导致逻辑错误或不一致。
  4. 数据完整性: 在某些情况下,删除记录并不意味着它从未存在。保持 id 的连续性可以帮助保留历史数据和审计跟踪。
  5. 默认行为: 在许多数据库系统中,当你插入新的记录但不指定 id 时,数据库会为你生成一个新的、唯一的 id 值。这通常是自动递增的。
  6. 避免冲突: 如果两个用户几乎同时删除和重新添加记录,仅仅因为 id 重置而产生冲突是不太可能的。但如果你依赖于这种行为来避免冲突,那么你可能需要重新考虑你的应用程序逻辑或使用其他方法来处理并发问题。

如果你真的需要重置 id 值,你可以考虑使用以下方法之一:

  • 创建一个新的列或序列来为每个记录分配一个新的、唯一的标识符。
  • 重新设计你的数据库结构,使其不依赖于连续的 id 值。
  • 使用应用程序逻辑来重置或重新编号 id 值。

总之,尽管从技术上讲你可以在删除记录后重置 id 值,但为了数据的完整性和性能,许多数据库系统不会这样做。

今天最后一个项目:做一个图书管理的项目,拥有添加图书,修改图书,删除图书,同时像是全部的图书列表

荣幸不到一小时拿下!!!嗨嗨嗨,有要的私信!!

不好的消息是:从明天开始就要上框架了!!!!还是有点虚的??只能加油吧!!

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值