【发布时间】:2013-10-06 09:24:18
【问题描述】:
英语不是我的母语,如果我的问题有什么不清楚的地方,请原谅我,我会尽力澄清。
我必须在 MySQL 中进行更改,我对结果有点担心,因为更改将会生效。我有一个表,其 id 为 1-800,然后有一个很大的跳跃到 10000、10001 等。我读了多个问题,比如this one,你可以使用
ALTER TABLE tablename AUTO_INCREMENT = 1
我的问题是:
- 这会重新排序当前键吗?
- 当我的 id 恢复到 10000 时会发生什么情况,id 会被覆盖吗? (该列是主要的)
如果它确实对我的键重新排序或它们被覆盖(我不能发生这种情况),保持我的表完整但将 id 重置为 801 的最佳解决方案是什么?我绝对需要保持结果不变!!!
感谢您抽出宝贵时间阅读/回答。 干杯。
【问题讨论】:
-
1. “这会重新排序当前的键吗?” 2号。阅读stackoverflow.com/questions/2615417/…。谷歌“自动增量环绕”
-
更改
AUTO_INCREMENT值不会不会重新排序 ID。 -
@Michael-Villeneuve:密钥不是增量的重要吗?如果是这样,那么您不应该为此使用 AUTO_INCREMENT。尽管有它的名字,但这不是它的用途。
-
我认为这很重要,因为我的客户将他的 Freshbooks 发票与客户 ID 同步。如果他们一个接一个,他更容易保持井井有条。