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

MySQL 自增 ID 起始值修改完整指南

     編輯:MySQL 資料庫相關知識

MySQL 自增 ID 起始值修改方法詳解

許多開發者誤以為 AUTO_INCREMENT 欄位的自增 ID 無法修改,實際上 MySQL 提供了多種靈活的設定方式。本文將系統介紹如何在建表、修改表結構、以及 Rails Migration 中調整自增起始值。

基本建表與加欄位語法

-- 建表時指定自增主鍵
CREATE TABLE table1 (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ...
);

-- 事後為現有表新增自增主鍵
ALTER TABLE table1 ADD id INT AUTO_INCREMENT PRIMARY KEY;

注意:自增欄位必須設為 PRIMARY KEY。

修改現有表的自增起始值

若希望 ID 從特定數值開始(如 QQ 號從 10000 起),或大量刪除資料後重置起始值:

-- 設定下一個自增值為 10000
ALTER TABLE users AUTO_INCREMENT = 10000;

-- 批量刪除後,將起始值退回至 123456
ALTER TABLE users AUTO_INCREMENT = 123456;

實測提醒:單機 MySQL 無問題,但在 MySQL Cluster 環境下可能失效,疑與主鍵機制差異有關,需進一步研究。

Rails Migration 寫法

create_table :articles, options: 'AUTO_INCREMENT = 1001' do |t|
  # 欄位定義
end

建表時直接指定起始值

CREATE TABLE table_1 (
    id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(5) NOT NULL
) AUTO_INCREMENT = 100;  -- ID 從 100 開始

重置為預設起始值

若需讓自增 ID 回歸預設值(從 1 開始),最簡單的方式是截斷資料表:

TRUNCATE TABLE table1;

此操作會清空所有資料並重置自增計數器。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved