我有一个带有主键字段且具有AUTO_INCREMENT的MySQL表。在阅读了这里的其他文章后,我发现人们遇到了同样的问题,答案也各不相同。有些人建议不要使用此功能,其他人则说它不能被“修复”。
我有:
table: course fields: courseID, courseName 示例:表中的记录数:18.如果我删除记录16、17和18-我希望输入的下一条记录的courseID为16,但是由于最后输入的courseID为18,所以它将为19。
我的SQL知识不是很出色,但是是否可以通过查询(或phpMyAdmin界面中的设置)刷新或更新此计数?
该表将与数据库中的其他表相关。
鉴于所有建议,我决定忽略此“问题”。我将简单地删除和添加记录,同时让自动增量完成它的工作。我猜数字到底有多大无关紧要,因为它仅用作唯一标识符,并且没有(如上所述)业务含义。
对于那些可能对我的原始帖子感到困惑的人:我不想使用此字段来知道我有多少条记录。我只是希望数据库看起来整洁,并具有更多的一致性。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您尝试做的事情听起来很危险,因为这不是预期的用途AUTO_INCREMENT。
如果您真的想找到最低的未使用密钥值,请不要使用AUTO_INCREMENT,并手动管理密钥。但是,这不是推荐的做法。
退后一步,问“ 为什么需要回收键值? ”未签名INT(或BIGINT)是否没有提供足够大的键空间?
18,446,744,073,709,551,615在应用程序的整个生命周期中,您是否真的会拥有比唯一记录更多的记录?来源:stack overflow