mysql数据库主键自增长删除后id问题
在使用mysql数据库时,设置主键自增长是很常见的做法。然而,当数据库中存在删除逻辑时,自增长id的顺序就会被打乱,导致id与题目个数不再一致。
解决方案
为了解决这个问题,我们可以考虑以下两种方案:
方案一:直接查询所有题目
不需要使用自增长id,而是直接查询所有题目,然后随机选择题目。
select * from questions;
登录后复制
方案二:使用伪主键
使用一个非自增长的列作为伪主键,并确保其唯一性。删除题目时,只更新伪主键,而不更新自增长id。这样就不会破坏id的顺序。
alter table questions add column pseudo_id int not null auto_increment;
登录后复制
UPDATE questions SET pseudo_id = pseudo_id - 1 WHERE id = deleted_id;
登录后复制
这两种方案都可以避免id与题目个数不一致的问题,但需要根据实际需求选择合适的方案。
以上就是MySQL自增主键删除后ID不连续怎么办?的详细内容,更多请关注抖狐科技其它相关文章!
-
未来之役枪械怎么选枪口 枪口装配选择推荐
各位枪械发烧友注意啦!在《未来之役》的激战中,选择合适的枪口配件至关重要,它能提升命中率和射程,让你在战斗中占据优势。本文由php小编苹果精心编撰,将带你深入了解《未来之役》中枪口的装配选择,助你打造...
-
python怎么下载手机版
可以通过 python 下载手机应用:导入 os 和 requests 模块。获取要下载的应用链接。发送下载请求。检查响应状态代码。保存下载的应用。使用系统命令安装下载的应用(确保启用 usb 调试)...
-
小米 REDMI K80 Pro 搭载骁龙 8 至尊版处理器,安兔兔跑分超 319 万
感谢网友 風見暉一、Autumn_Dream、偏科骚黄4100只眼、Ink_moshui 提供的宝贵线索! 11 月 22 日,小米正式宣布,REDMI K80 Pro 手机将搭载骁龙 8 至尊版处理...
-
优酷视频海外版国内怎么充会员
国内用户可以通过以下步骤为优酷视频海外版充值会员:注册海外账号,获得免费试用。购买海外地区发行的礼品卡。登录海外账号,兑换礼品卡。礼品卡金额将自动充值,开通相应的会员等级。优酷视频海外版国内怎么充会员...
-
C++ 函数的 Lambda 表达式:释放并发编程的力量
lambda 表达式允许在 c++++ 中创建匿名函数,在并发编程中,这可以通过捕获变量和并行执行任务来创造更有效率、更可扩展的应用程序。C++ 函数的 Lambda 表达式:释放并发编程的力量 La...