MySQL auto_increment 重启后值丢失

在MySQL 5.7及以前版本,InnoDB表的auto-increment计数器重启后会丢失,可能导致重复ID。MySQL 8.0改进了此逻辑,但仍有潜在风险。解决方案包括升级到MySQL 8.0、使用MyISAM、弃用自增字段或保留最大值记录。
摘要由CSDN通过智能技术生成

相关链接:

 

背景描述

与相关链接《Be Careful...》中的案例很类似,某个业务系统中也有两张表,暂且称其为 pending_task 和 task_archive。它们的存储引擎都为 InnoDB;MySQL 版本为 5.7。

  • 业务系统会先在 pending_task 表中创建一个新的 task 记录;

  • 此表使用自增主键,作为 task 的唯一标识 —— task_id;

  • task 结束后 pending_task 表中的相应记录会被删除;

  • task_archive 表用于记录 task 的最终存档信息,主键就是 task_id。

先不讨论这种设计是否恰当。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值