当前位置:  开发笔记 > 后端 > 正文

数据库中已删除记录的数字主键是否会被重用于未来的新记录?

如何解决《数据库中已删除记录的数字主键是否会被重用于未来的新记录?》经验,为你挑选了2个好方法。

例如,如果我有一个自动编号字段,我添加新记录而不指定此字段,让数据库引擎为我选择它.
那么,它会选择已删除记录的数量吗?如果是,何时?

// SQL Server,MySQL.//

后续问题:当数据库引擎耗尽数字用于主键时会发生什么?



1> Peter Parker..:

没有.数字主键不会被重用,除非你手动指定它们(你应该真的避免这种情况!)



2> Martin Bøgel..:

AFAIK,这可能发生在MySQL:

AUTO_INCREMENT处理如何在InnoDB中工作:

只要服务器运行,InnoDB就会使用内存中的自动增量计数器.当服务器停止并重新启动时,InnoDB会重新初始化每个表的计数器,以便第一次INSERT到表中,如前所述.

重启服务器后.Innodb重用以前生成的auto_increment值. :

建议修复:innodb表在重启后不应丢失auto_increment列的下一个数字的轨迹.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有