TRUNCATE TABLE —— 徹底清空並重置TRUNCATE TABLE `table_name`;
AUTO_INCREMENT 重置為 1。DROP 權限而非 DELETE。數據全丟失,僅適用於可完全丟棄數據的場景。ALTER TABLE ... AUTO_INCREMENT = N —— 靈活指定起始值DELETE FROM `table_name`; -- 可選:先清空數據
ALTER TABLE `table_name` AUTO_INCREMENT = 1;
MAX(id)+1);不刪除數據時也可單獨調整步長。MAX(id),否則報錯 ERROR 1062 (Duplicate entry)。InnoDB 重啟後會重新計算 MAX(id)+1,持久化需配合配置文件或 8.0+ 的持久化自增特性。DBCC CHECKIDENT (SQL Server 專用) —— 文中誤列注意:原文提到的 DBCC CHECKIDENT 是 SQL Server 命令,**MySQL 不支持**。請勿在 MySQL 中嘗試使用。
$sql = "DELETE FROM `$table_vote`";
mysql_query($sql, $link);
$sql = "ALTER TABLE `$table_vote` AUTO_INCREMENT = 1";
mysql_query($sql, $link);
建議改用 PDO/MySQLi 預處理語句防止注入。
TRUNCATE 或 ALTER 腳本。OPTIMIZE TABLE 回收空間並重置自增計數器(InnoDB 8.0+ 自動持久化)。