英语不是我的母语,所以请原谅我,如果我的问题不清楚,我会尽力澄清。
我必须在MySQL中进行更改,我对结果有点担心,因为更改将会生效。我有一张id为1-800的表,然后跳转到10000,10001等。我读了this one这样的多个问题你可以使用
ALTER TABLE tablename AUTO_INCREMENT = 1
我的问题是:
如果它重新排序我的密钥或者它们被覆盖(我不能发生这种情况),那么保持我的表完整但将id重置为801的最佳解决方案是什么?我绝对需要保持结果不被触摸!!!
感谢您抽出宝贵时间阅读/回答。 欢呼声。
答案 0 :(得分:1)
MySQL不允许您将自动增量设置为低于当前最大键值的值。因此,您的应用程序必须手动设置id值。
答案 1 :(得分:0)
使用此查询,将tablename和id更改为相应的表名和列名:
更新tablename set id = id - 9199,其中id> = 10000
然后将自动增量设置为适当的下一个值。
您可能希望在更改之前保留表的备份副本。