MYSQL语句再次从索引1重新索引表

时间:2016-03-15 03:48:49

标签: php mysql

是否有一个MYSQL语句可以再次从索引1重新索引表的每一行?我不认为有,但我要求以防万一。如下所示:

REINDEX tableName;

index: 2 
index: 5
index: 7

^ ---上面会变成像:

index: 1
index: 2
index: 3

2 个答案:

答案 0 :(得分:1)

没有特定的功能可以执行此操作,您可以删除索引列并重新创建它。这些值将被重新分配。

查询是这样的:

ALTER TABLE tableName DROP `index`;
ALTER TABLE tableName AUTO_INCREMENT = 1;
ALTER TABLE tableName ADD `index` int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

但是,如果您希望从1开始新行,则可以使用:

ALTER TABLE tableName AUTO_INCREMENT = 1

答案 1 :(得分:-2)

  

是否有MYSQL语句重新索引每一行

NO。

因为索引不是你想象的那样。

索引不是一个愚蠢的数字,而是一个与记录无关的唯一标识符。你永远不应该“重新索引”任何东西,因为它会使索引基本无用。