我有我的表中的一个主键列自动增量。但是,当我从主键ID最高的表中删除一行(可以说11)。然后下一次我做一个插入它插入的密钥为12而不是11(尽管逻辑上它可以使用11,因为没有与密钥11相关联的条目)。我怎样才能做到这一点?在MySQL中的自动增量
2
A
回答
6
你真的确定你想要这个吗?自动增量列将保证唯一的数字,这就够了。你可以更新下一个自动增量值(我将不得不查看它的工作原理),但我不认为你应该这样做。
如果您需要控制列中的数字,您应该手动进行。
不过,您可以更改像这样的自动增量号:
ALTER TABLE tbl AUTO_INCREMENT = 100;
(来源:http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html)
另一句话:如果你有一个数字一到十,并删除5,你不能轻易做这个。你很难做出下一个auto_increment 5,因为6已经在那里了。 所以再次,虽然你可以做你的例子脏东西,真的很难在真实环境中做到这一点。也许开始一个新的问题,描述你的情况,并寻求建议如何解决这个问题没有auto_increment技巧:)
0
Mysql不具备该功能开箱即用,您需要编写代码你的申请。你将遇到的一个问题是,如果两个交易想要获得和id,其中一个会得到一个重复的id错误。当然,这是更好的避免。
所有的数据库引擎都缺乏这个“功能”,因为它不适合并发。
相关问题
- 1. 自动增量列的MySQL
- 2. 在MySQL中保存自动增量
- 3. 在Java中检索MySQL自动增量
- 4. MySQL:自动增量减1?
- 5. MYSQL自动增量范围
- 6. MySQL自动增量白天?
- 7. MySQL触发自动增量
- 8. 自动增量问题mysql
- 9. Mysql自动增量帮助
- 10. 重置mysql中的自动增量值
- 11. mysql中的多个自动增量
- 12. Mysql自动增量增加2和1?
- 13. Mysql自动增量重置自己? xamp
- 14. 使用触发器在MySQL中的表中伪造自动增量增量
- 15. 在C#中自动增量#
- 16. 自动增量在Hibernate中
- 17. 在phpmyadmin中自动增量
- 18. MySQL的自动增量消失
- 19. MySQL的自动增量问题
- 20. MySQL的自动增量绑定属性
- 21. 更新时的MySQL自动增量
- 22. MySQL的:将数据和自动增量
- 23. 基于字段的MySQL自动增量?
- 24. MySQL的获得不带自动增量
- 25. 基于组的MySQL自动增量
- 26. 自动增量列不会增加mysql表中的数字
- 27. 使我自己递增的mysql id不自动增量
- 28. FTL中的自动增量
- 29. couchdb中的自动增量
- 30. Redis中的自动增量
是的。您不应该再次使用已删除的ID。 – 2011-03-18 16:35:10
好吧,如果这是最好的做法 – aherlambang 2011-03-18 16:48:40