Cha*_*ink 6 mysql auto-increment
我有一个带有自动递增列的表.我需要将其中一行设置为1000而不再触摸它,但现在我已将其设置为1000,自动增量保持从1001开始并拒绝从1开始.有没有办法解决这个问题?
你不能:
要更改要用于新行的AUTO_INCREMENT计数器的值,请执行以下操作:
ALTER TABLE t2 AUTO_INCREMENT = value;
您不能将计数器重置为小于或等于任何已使用的值.对于MyISAM,如果该值小于或等于AUTO_INCREMENT列中当前的最大值,则该值将重置为当前最大值加1.对于InnoDB,如果该值小于列中的当前最大值,则不会发生错误,并且不会更改当前序列值.
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
简单而简短的答案:你不能这样做。
如果可以的话,如果从 1 开始自动增量并插入 1000 行会发生什么?由于“重复键”错误,最后一个无法插入。
如果您必须有一个预定义的条目,并且其 id 永远不会改变且易于记住,为什么不使用 0 呢?或者,如果您确实需要使用 1000,那么让其他列从 1001 开始有什么问题呢?