2017-08-11 49 views
0

我見過的大多數帖子都是關於重置空表上的自動增量。 我有一個表格中的數據已經從它刪除舊記錄。在過去,我的搜索已經拿出了答案,如「讓它不重要」 我想成爲一個整潔的怪胎,並清理我的表。做這個的最好方式是什麼?我應該把所有東西都移到一張新桌子上,然後截斷舊桌子,然後把它全部移回去?自動增量值會隨着它移動,還是它會在我移動數據時從1開始?重置自動增量與仍在表中的數據MYSQL

+0

至少在任何真實世界的場景,其中的數據都已經「活」在某些時候,這是不是一種「潔癖」,這寧願成爲一個危及他們數據完整性的笨蛋......一個ID只有一份工作和一份工作 - 唯一地識別記錄。沒有更多,不少。只要你開始申請_any其他標準(「但它看起來不太好......」),你做錯了事情。 – CBroe

+0

這個特定的表格有添加和刪除的項目。我把autoincrement設置爲像int(10)這樣瘋狂的東西,所以我不會達到極限。重置ID不會影響數據的使用方式。 –

+0

_「重置ID不會影響數據的使用方式」_ - 也不會重置ID。 – CBroe

回答

1

只需設定自動遞增值是這樣的:

ALTER TABLE users AUTO_INCREMENT=1001; 
+0

這只是重置上次自動增量。我得到的記錄從600開始,然後在刪除部分的地方出現空白。我想清理它,所以它全部從1開始,並且沒有間隙乾淨。 –

+0

好吧,我假設你錯誤地插入了一些數據並從最後刪除了它。正如你所描述的,我會同意@CBroe的評論 – ReneS