刪除資料後自增 ID 不連續,需重置從 1 開始。本文對比「刪除欄位重建」與「直接修改自增值」兩種方法,說明適用條件、主鍵約束要求與潛在風險。
-- 1. 刪除原自增主鍵欄位
ALTER TABLE tablename DROP COLUMN id;
-- 2. 重建為首欄自增主鍵
ALTER TABLE tablename ADD id MEDIUMINT(8) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;
ALTER TABLE tablename AUTO_INCREMENT = 1;
CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY, ...) AUTO_INCREMENT = 1000;
| 場景 | 推薦方法 | 備註 |
|---|---|---|
| 開發/測試環境、表較小、無外鍵 | 方法一 (DROP+ADD) | 乾淨重置 |
| 生產環境、大表、有外鍵 | 方法二 (AUTO_INCREMENT=N) | 設定 > 現有 MAX(id) |
| 表已清空 (TRUNCATE) | 方法二 = 1 | TRUNCATE 自動重置為 1 |
| 需保留業務 ID 不變 | **勿動** | 自增值不連續是正常現象 |