MySQL在自动增量列中使用静态数字是安全的

时间:2014-11-10 13:04:38

标签: mysql sql auto-increment

我在表格中有一个自动递增的ID字段。它是在13321.如果我有一些产品我想插入并使用15,000到15,500的行。

我在可以插入新数据的Web应用程序中有查询。查询都允许系统生成" id"字段如:

INSERT INTO mytable ('','value1', 'value2','value3')

如果我使用15000到15500插入静态数据,那么将我的自动增量ID重置为13322,当系统达到15000时是否安全? MySQL会不会跳到15501?

1 个答案:

答案 0 :(得分:3)

输入值15000到15500后,表格的AUTO_INCREMENT属性将设置为15501.之后,您无法将属性重置为13322(或任何其他小于或等于15500的值)。 Quote from MySQL manual

  

您无法将计数器重置为小于或等于任何值的值   已经被使用过。对于MyISAM,如果值小于或等于   到当前在AUTO_INCREMENT列中的最大值,该值   重置为当前最大值加1。对于InnoDB,如果值为   小于列中的当前最大值,不会发生错误   当前序列值不会改变。

MySQL是否知道跳到15501 部分你的问题因此变得无关紧要。