2013-06-20 78 views
3

我在MySQL中有一個名爲Person的表。有一列id它有UNIQUEAUTO_INCREMENT屬性,也是一個主鍵。我想重置的id計數器,使其從1我用下面的SQL語句重新啓動:從重置AUTO_INCREMENT不起作用

ALTER TABLE Person AUTO_INCREMENT=1; 

但經過我申請這一變化,id還是從我的最後一個位置(130)開始,不1.那麼爲什麼這個重置不起作用?

+0

表中是否有需要維護其現有ID的數據或是否爲空? –

+1

表格爲空。 – tonga

回答

4

使用TRUNCATE TABLE,因爲這將重置自動增量

documentation ... 從在MySQL 5.0.13中,AUTO_INCREMENT計數器復位至零由TRUNCATE TABLE,無論是否有外鍵約束)

+0

謝謝。此解決方案有效。所以重置計數器的ALTER TABLE方法已經過時了嗎? – tonga

+1

先前存在的行不會更改自動增量開始種子,因此當您嘗試更改表並將其設置爲1時,您正在分配已具有的屬性,因此它不起作用。種子(您爲自動增量開始指定的數字)與位置/計數器(由插入的行確定)之間存在差異。 –

+0

感謝Steph澄清這一點。 – tonga