是否有一个MYSQL语句可以再次从索引1重新索引表的每一行?我不认为有,但我要求以防万一。如下所示:
REINDEX tableName;
index: 2
index: 5
index: 7
^ ---上面会变成像:
index: 1
index: 2
index: 3
答案 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。
因为索引不是你想象的那样。
索引不是一个愚蠢的数字,而是一个与记录无关的唯一标识符。你永远不应该“重新索引”任何东西,因为它会使索引基本无用。