如何重置MySQL的自動增量列
MySQL數據庫提供了一個奇妙的功能AUTOINCREMENT列指數。你的數據庫表可以定義為數字自動遞增的主鍵,MySQL將采取照顧其獨特的價值,同時插入新行。
www.2cto.com
每次添加一個新行,MySQL的增量值自動,它堅持以表。但有時你可能需要重置AUTOINCREMENT列值1。說你寫一個示例應用程序,你已經有幾行插入表中。現在要刪除這些行,並自動增量列復位,使新行插入將有主鍵的值1 1。
有幾個方法來實現這一點。
1。直接復位自動增量值
ALTER TABLE語法提供了一種方法來重新設置自動增量列。采取看看下面的例子。
ALTER TABLE table_name AUTO_INCREMENT = 1;
請注意,你不能重置計數器的值小於或等於任何已使用的。對於MyISAM,如果該值小於或等於目前在AUTO_INCREMENT列的最大值,該值是目前最大的加一復位。對於InnoDB,如果該值大於當前列中的最大值,沒有出現錯誤和不改變當前序列值。
2。截斷表
截斷表自動增量值自動復位為0。
TRUNCATE TABLE table_name;
謹慎使用。用於截斷時,任何的AUTO_INCREMENT計數器復位到零。從MySQL 5.0.13上,AUTO_INCREMENT計數器復位為零的TRUNCATE TABLE,而不管是否有一個外鍵約束。
一旦發射TRUNCATE是,表處理不記得過去使用的AUTO_INCREMENT值,但從頭開始計數。這是真實的,甚至對於MyISAM和InnoDB,通常不重用序列值。
www.2cto.com
3。下降和重新創建表
這是另一種方式下重啟自動增量指數。雖然不是很理想。
DROP TABLE table_name;
CREATE TABLE table_name { ... };
所有這些技術的價值技術重置自動增量列數。使用任何適合你的要求。