雖然正常情況下,自動遞增值就應該讓他自動長大不應該重新設定。
不果這次,因為塞了數十萬筆的測試資料,將其刪除後想要讓系統的編號不要跳號這麼多,所以決定調整一下主索引鍵的自動遞增值,讓後續的資料可以感覺連續些。
平常利用 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;
如果想要取用的人,記得修改資料表跟欄位名稱為你的情況在使用。