是否有一個MYSQL語句重新從索引1重新索引表的每一行?我不認爲有,但我只是爲了以防萬一。因此,像:MYSQL語句重新索引表索引1再次
REINDEX tableName;
index: 2
index: 5
index: 7
^---上面會變成這樣的:
index: 1
index: 2
index: 3
是否有一個MYSQL語句重新從索引1重新索引表的每一行?我不認爲有,但我只是爲了以防萬一。因此,像:MYSQL語句重新索引表索引1再次
REINDEX tableName;
index: 2
index: 5
index: 7
^---上面會變成這樣的:
index: 1
index: 2
index: 3
沒有一個特定的功能來做到這一點,你可以刪除索引列和重新創造它。這些值將被重新分配。
查詢是這樣的:
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
是否有MYSQL語句來重新每行索引
否。
因爲索引不是您認爲的那樣。
索引不是一個愚蠢的號碼,而是一個唯一標識符不可分割地綁定到記錄。你不應該「重新索引」任何東西,因爲它會使索引實質上無用。
確實。但是這不會影響已經在表格中的行。 – frosty
@frosty更新後,不要以爲有功能可以做到這一點 – Panda
Purrr-fect。謝謝! – frosty