我是新来的整个数据库场景,只是学习。我有一个数据库MySQL,我使用phpmyadmin来编辑字段等。我创建了一个auto_incremenet'id'字段,它被设置为主要字段。如果我添加5个字段,该ID将是'1,2,3,4,5'。如果我删除所有这些字段并添加另外5个字段,为什么ID会变成'6,7,8,9,10'? (而不是回到0,因为技术上其他领域不再存在,所以它的独特权利?)。有没有办法让ID顺序数字? 1,2,3,4,5?当你从数据库中删除一条记录时mysql
3
A
回答
5
你不需要担心它。你的主键应该是一个unsigned int,它可以保存足够多的数字。
0
1
我相信会发生这种情况,因为在使用关系数据库系统时,通常可以通过它们的id将行连接到其他行。如果你开始重新使用ID,那么你可能会陷入混乱的境地。
可以重置AUTO_INCREMENT计数器任何你想使用下面的查询:
ALTER TABLE tableName AUTO_INCREMENT=123
如果要删除表中的所有行,你可以使用TRUNCATE这也将重置计数器。
TRUNCATE TABLE tableName
0
你将不得不重置自动增量,这样你就可以重新编号auto_incremented值,此处详细了解http://www.dbuggr.com/milly/reset-auto-increment-mysql/的解决方案。
1
我认为这种行为的主要原因是效率,这意味着MySQL不需要跟踪哪些数字没有被使用,它只需要知道哪个数字是最后使用的。
相关问题
- 1. 从MySQL数据库中删除一条记录
- 2. 从mysql数据库的所有表中删除一条记录
- 3. 从MySQL数据库中删除记录
- 4. 当用户点击alertview时从sqlite数据库中删除一条记录
- 5. 在mysql数据库中只删除一条记录
- 6. Angular从数据库中删除一条记录
- 7. 从数组中删除一条记录
- 8. 从Access数据库中删除记录,删除时出错
- 9. 从数据库中删除记录
- 10. 从数据库中删除记录
- 11. 从数据库中删除多条记录
- 12. 使用_GET URL链接从mysql数据库中删除记录
- 13. 删除聊天记录从数据库
- 14. 从sqlite数据库删除记录
- 15. 从MySQL数据库中删除一行
- 16. PHP从数据库中删除所有记录+选择当前记录
- 17. 如何从MySQL数据库中选择一条随机记录?
- 18. 上传文件时从数据库中删除的记录
- 19. 当满足条件时从连接表中删除记录
- 20. 如何从mysql数据库删除旧记录
- 21. 从数据库返回一条记录
- 22. 数据库:当外键在父级上时删除子记录
- 23. 删除数据库中的记录cakephp
- 24. (GridView的)第一记录被从数据库C#中删除
- 25. 使用数据绑定从数据库中删除记录
- 26. 在链接中查询删除mysql数据库中的记录
- 27. 如何从数据库记录中删除¶(pilcrow)标记
- 28. 当我尝试删除一条记录时,它创建一个新的记录
- 29. 如何删除mysql数据库中的记录?
- 30. MySQL记录重复数据删除
主键只能使用一次......因此,即使删除了一条记录,PK也不会重新分配给新记录。 –
如果你确实需要跟踪诸如“InUseID”之类的东西,你需要一个独立的字段,并且清除它与主键“ID”不一样 – Matt