首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL AUTO_INCREMENT 起始值設定與 ALTER TABLE 綜合操作

     編輯:MySQL 資料庫相關知識

設定自增起始值

ALTER TABLE table_name AUTO_INCREMENT = 1000;

適用場景:資料遷移後接續編號、測試資料預留編號範圍、合併分表後避免 ID 衝突。

注意事項

  • 設定值必須大於當前最大 id,否則無效果(MySQL 會自動調整為 max_id+1)。
  • InnoDB 重啟後會重新計算 AUTO_INCREMENT(8.0+ 持久化到 redo log,重啟不重置)。
  • 分散式架構建議使用 Snowflake ID 或 UUID 替代自增主鍵。

ALTER TABLE 綜合速查(同 ID 75020)

-- 欄位操作
ADD COLUMN col_def [FIRST|AFTER col]
CHANGE COLUMN old_col new_col_def
MODIFY COLUMN col_def
DROP COLUMN col_name
ALTER COLUMN col {SET DEFAULT val | DROP DEFAULT}

-- 索引操作
ADD INDEX [name] (col,...)
ADD PRIMARY KEY (col,...)
ADD UNIQUE [name] (col,...)
DROP INDEX name
DROP PRIMARY KEY

-- 表操作
RENAME [AS] new_tbl_name
table_options (ENGINE, CHARSET, AUTO_INCREMENT...)

實用組合範例

-- 同時新增欄位與索引
ALTER TABLE orders 
    ADD COLUMN status TINYINT NOT NULL DEFAULT 0,
    ADD INDEX idx_status (status);

-- 修改引擎與字元集
ALTER TABLE users 
    ENGINE=InnoDB, 
    DEFAULT CHARSET=utf8mb4, 
    AUTO_INCREMENT=10000;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved