我有一个超过17000行的mysql表.我从中间部分删除了大约530行.现在每行都有一个连续的AUTO-INCREAMENTED数字主键.您现在可以理解,已删除了几行数.所以我只是想问一下,有什么方法可以在一些完美的顺序中再次修复所有行?
Man*_*eUK 22
您可以使用此主键作为外键,小心其他表
SET @count = 0;
UPDATE table SET table.id = @count:= @count + 1;
Run Code Online (Sandbox Code Playgroud)
这将更新id表的列table...然后您需要重置auto_increment:
ALTER TABLE table AUTO_INCREMENT = 1;
Run Code Online (Sandbox Code Playgroud)
这将重置下一个MAX(id)+1来自文档的 ID :
要更改要用于新行的AUTO_INCREMENT计数器的值,请执行以下操作:
Run Code Online (Sandbox Code Playgroud)ALTER TABLE t2 AUTO_INCREMENT = value;您不能将计数器重置为小于或等于任何已使用的值.对于MyISAM,如果该值小于或等于AUTO_INCREMENT列中当前的最大值,则该值将重置为当前最大值加一
| 归档时间: |
|
| 查看次数: |
5663 次 |
| 最近记录: |