我有一个 MySQL 表,其主键字段启用了 AUTO_INCRMENT。
阅读这里的其他帖子后,我注意到人们有同样的问题并且有不同的答案。有些人建议不要使用此功能,另一些人则表示它无法“修复”。
I have:
table: course
fields: courseID, courseName
示例:表中的记录数:18。如果我删除记录 16、17 和 18 - 我预计输入的下一条记录的 courseID 为 16,但它将是 19,因为最后输入的 courseID 是 18。
我的 SQL 知识并不令人惊奇,但是有没有办法通过查询(或 phpMyAdmin 界面中的设置)刷新或更新此计数?
该表将与数据库中的其他表相关。
鉴于所有建议,我决定忽略这个“问题”。我将简单地删除和添加记录,同时让自动增量完成它的工作。我想这个数字是什么并不重要,因为它只是用作唯一标识符并且没有(如上所述)business意义。
对于那些我可能对我的原始帖子感到困惑的人:我不想使用此字段来知道我有多少记录。我只是希望数据库看起来整洁并且具有更多的一致性。
你试图做的事情听起来很危险,因为这不是它的预期用途AUTO_INCREMENT
.
如果您确实想找到最低的未使用键值,请不要使用AUTO_INCREMENT
根本没有,并手动管理您的密钥。然而,这不是推荐的做法。
退一步问“为什么需要回收键值?" 做无符号INT
(or BIGINT
)没有提供足够大的密钥空间?
你真的会拥有更多吗?18,446,744,073,709,551,615 http://dev.mysql.com/doc/refman/5.0/en/numeric-type-attributes.html在应用程序的生命周期中是否有独特的记录?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)