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

Oracle、SQL Server、MySQL 自增欄位語法對比速查表

     編輯:MySQL 資料庫相關知識

三大主流資料庫自增主鍵語法快速對照

資料庫關鍵字/機制建表示例備註
MySQL AUTO_INCREMENT
CREATE TABLE test (
  id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
  name VARCHAR(50)
);
必須聲明為 PRIMARY KEY,否則報錯
SQL Server IDENTITY(種子,增量)
CREATE TABLE test (
  id INT IDENTITY(100,10) PRIMARY KEY NOT NULL,
  name VARCHAR(50)
);
可指定起始值 (100) 與增量 (10)
Oracle SEQUENCE + .NEXTVAL
CREATE TABLE test (
  id INT PRIMARY KEY NOT NULL,
  name VARCHAR(50)
);
CREATE SEQUENCE test_id
  INCREMENT BY 1 START WITH 1 MAXVALUE 9999;

-- 插入時引用
INSERT INTO test VALUES (test_id.NEXTVAL, 'www');
需單獨建立 Sequence,插入時調用 .NEXTVAL

核心差異總結

  • MySQL/ SQL Server:欄位屬性內建自增,語法簡潔。
  • Oracle:分離序列物件,靈活性高 (可跨表共用序列、自定義緩存、循環等),但寫入需額外調用。
  • 移植時需注意語義對應:AUTO_INCREMENT ≈ IDENTITY(1,1) ≈ SEQUENCE INCREMENT BY 1。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved