1. 程式人生 > >mysql重置自增數,刪除末尾資料後從新末尾資料繼續遞增

mysql重置自增數,刪除末尾資料後從新末尾資料繼續遞增

先說明:本文主要講述的是  如何刪除末尾資料後,自增數從末尾自增數開始自增,而不是內建計數器繼續自增。

前言:

一般mysql我們都會設定一個自增數作為主鍵。測試時難免需要插入刪除資料。但是當我們刪除測試資料後,會發現自增數不是末尾自增數開始自增,而是繼續內建計數自增。有時我們並不希望自增數間隔過大。例如:幾百行資料後面插錯了100多條資料的時候需要刪除(編號原本正常的1數到400,突然跳到500開始計數,其實挺bug的)。

測試表

測試資料:

tx*都是測試賬號。需要刪除它們但當新使用者註冊時,卻自動從10開始,而不是接著5。

 

方法一:清空資料庫【這會清空資料!這會清空資料!這會清空資料!】

truncate TABLE 表名;

這種方法會重置該表,相比delete表格 這會重置自增數。

 

方法二:重新設計表【大概是我原創方法,畢竟網上沒看到有人測試過】

ps:我是圖形化介面操作的,此處只寫步驟,具體mysql語句未知,之後研究下。

1、設計該表,把“自動遞增”的選項取消掉。提交。

2、重新勾選“自動遞增”。提交。

3、我們插入新使用者試試吧。

很好,從原來最後資料的自增數開始自增了

 

EX:如果希望全部重新編號。我建議還是重新加個自動遞增的欄位合適。

如果通過“清除自增數 -> 取消自動遞增、主鍵、不是空 -> 提交 -> 重新設定自增數、主鍵、不是空 -> 提交”

雖然可以重新編號。但很容易導致資料錯亂,特別是多表關聯的時候。

 

後記:

以上是樓主基於圖形化介面工具的測試結果。樓主對mysql不算太熟悉。具體步驟的mysql語句是不清楚的。當資料量巨大,這種改欄位屬性的方法是否會效率低下也是不清楚的。歡迎高手們提點。

轉載請註明出處。  https://my.oschina.net/jacky326/blog/3