在mysql中重新索引表

时间:2015-07-11 09:16:17

标签: mysql indexing

我的数据库中有一个表,我想重新编制索引。

因为删除了一些行,我现在有:

id     name      phone
1      xxxx      xxxxx
4      xxxx      xxxxx
6      xxxx      xxxxx

我想:

id     name      phone
1      xxxx      xxxxx
2      xxxx      xxxxx
3      xxxx      xxxxx

id已经自动递增。 行的ID更改不会对网站的其他部分产生任何影响,它只是一个非常简单的客户列表。

我已经在互联网上搜索过,并在REPAIR TABLE中找到了一些东西,但我不确定它是否符合我的情况:/

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以尝试删除ID字段,然后重新创建它:

alter table `my_table` modify column id INT NOT NULL;
alter table `my_table` drop primary key, add primary key(id);
alter table `my_table` modify column id INT NOT NULL AUTO_INCREMENT;

我建议首先在理想情况下在开发数据库上尝试这个,否则至少会复制你的表并首先尝试它。您不希望冒“生产”数据的风险。