我在表格中有一个自动递增的ID字段。它是在13321.如果我有一些产品我想插入并使用15,000到15,500的行。
我在可以插入新数据的Web应用程序中有查询。查询都允许系统生成" id"字段如:
INSERT INTO mytable ('','value1', 'value2','value3')
如果我使用15000到15500插入静态数据,那么将我的自动增量ID重置为13322,当系统达到15000时是否安全? MySQL会不会跳到15501?
答案 0 :(得分:3)
输入值15000到15500后,表格的AUTO_INCREMENT属性将设置为15501.之后,您无法将属性重置为13322(或任何其他小于或等于15500的值)。 Quote from MySQL manual:
您无法将计数器重置为小于或等于任何值的值 已经被使用过。对于MyISAM,如果值小于或等于 到当前在AUTO_INCREMENT列中的最大值,该值 重置为当前最大值加1。对于InnoDB,如果值为 小于列中的当前最大值,不会发生错误 当前序列值不会改变。
MySQL是否知道跳到15501 部分你的问题因此变得无关紧要。