資料載入中

胡言亂語

如何將mysql table auto_increment重設


如何將mysqltableautoincrement重設

資料表裡的資料加加減減,一不小心突然驚覺當初的欄位長度設定的不夠⊙_⊙

當然,你可以選擇再把欄位長度加長。

但事實上,在加加減減的過程中,其實有很多排序數是被浪費了~

例如你新增了資料共有6筆,auto_increment 分別是1、2、3、4、5、6。

今天,你刪掉了一筆資訊,也許是3,那麼,你不用期待4、5、6會自動降下來遞補。

也許你又刪了一筆資訊,也許是6,接下來你又新增了一筆資訊,猜猜會發生什麼事?

答案是,新增的一筆資訊 auto_increment 會從7開始排列。

就這樣無形中我浪費了很多排序數。

所以我得解決這個問題,讓資訊重新開始排列。

參考了連結網址

我用了以下方式~
SET @num := 0;
UPDATE my_table_name SET id = @num := (@num+1);
ALTER TABLE my_table_name AUTO_INCREMENT =1;

接下來的結果讓人滿意~
 

  • 資料表欄位長度設定問題
  • auto_increment 排序數浪費原因
  • 如何重新排列資料表資訊
  • 刪除資料後自動編號行為
  • 解決資料排序問題的方法
https://innstory.com/story-如何將mysqltableautoincrement重設-1803

上一篇
 判斷字串是否存在於內容中

下一篇
PHP字串字數計算並隱藏 

發表留言

  • 訪客

    Mark Chang 學習
    5 年又 115 天回覆

作者簡介

離不開電腦的宅男


推薦閱讀

作者其他相關類別故事

使用javascript獲取ckeditor textarea的textarea值

使用javascript獲取…

Mark Chang 7 年又 292 天 2.4K

一般來說,若我想使用 javascript 來得到 textarea 的值。 可以使用以下方式: 首...

在PHP中通過POST發送JSON

在PHP中通過POST發送J…

Mark Chang 6 年又 311 天 1.5K

這回,我遇到需要通過POST請求發送JSON到API。 剛好利用這次的機會紀錄一下: 另外 使用...

使用 SendGrid 這類第三方代發郵件平台時,寄信平台顯示信件已經順利寄出,但對方卻說收不到信,會有哪些原因

使用 SendGrid 這類…

Mark Chang 2026-06-09 下午 3 點 36

在使用 SendGrid 這類第三方代發郵件平台時,出現「後台顯示已寄出(Delivered),但收...