重新設定主索引鍵的自動遞增值

雖然正常情況下,自動遞增值就應該讓他自動長大不應該重新設定。

不果這次,因為塞了數十萬筆的測試資料,將其刪除後想要讓系統的編號不要跳號這麼多,所以決定調整一下主索引鍵的自動遞增值,讓後續的資料可以感覺連續些。

平常利用 php 處理這問題不難,不過這次是很一次性的動作,所以想要直接利用資料庫管理介面來解決這問題。
並且想要很自動的貼上語法就可以運作,不想要手動輸入語法,所以在網路上找了一下後,經我測試以下的語法在我的 MariaDB 當中是可以正常運作的。

SELECT @max := MAX(`column_name`) + 1 FROM `table_name`; 
SET @alter_statement = concat('ALTER TABLE `table_name` AUTO_INCREMENT = ', @max);
PREPARE stmt FROM @alter_statement;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

如果想要取用的人,記得修改資料表跟欄位名稱為你的情況在使用。

發表留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料