温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Auto Increment在哪些数据库中可用

发布时间:2026-07-02 04:02:20 来源:亿速云 阅读:97 作者:小樊 栏目:数据库

Auto Increment(自增字段) 并不是所有数据库都叫这个名字,但几乎所有主流关系型数据库都支持类似功能,只是实现方式和语法不同。

下面按数据库逐个说明 ✅


一、支持 Auto Increment 的数据库

MySQL / MariaDB

  • 支持
  • 关键字:AUTO_INCREMENT
  • 通常与 PRIMARY KEY 一起使用
CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50)
);

✅ 支持
✅ 最常见用法


✅ PostgreSQL

  • 不直接叫 AUTO_INCREMENT
  • 使用 SERIALBIGSERIAL(旧方式)
  • 推荐方式(新版本):GENERATED AS IDENTITY

方式一:SERIAL(仍广泛使用)

CREATE TABLE user (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50)
);

方式二:IDENTITY(标准 SQL,推荐)

CREATE TABLE user (
    id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    name VARCHAR(50)
);

✅ 功能等同于 AUTO_INCREMENT
✅ 更标准、更灵活


✅ SQL Server

  • 支持
  • 使用 IDENTITY
CREATE TABLE user (
    id INT IDENTITY(1,1) PRIMARY KEY,
    name VARCHAR(50)
);

✅ 功能等同于 AUTO_INCREMENT
⚠️ 没有 AUTO_INCREMENT 关键字


✅ Oracle

  • 12c 及以后支持
  • 使用 IDENTITY(新方式)
  • 旧版本使用 序列(SEQUENCE)+ 触发器

Oracle 12c+(推荐)

CREATE TABLE user (
    id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
    name VARCHAR(50)
);

✅ 功能等同于 AUTO_INCREMENT


✅ SQLite

  • 支持
  • 使用 INTEGER PRIMARY KEY
CREATE TABLE user (
    id INTEGER PRIMARY KEY,
    name TEXT
);

✅ 自动自增
⚠️ 不写 AUTOINCREMENT 反而更推荐(性能更好)


✅ DB2

  • 支持
  • 使用 IDENTITY
id INT GENERATED ALWAYS AS IDENTITY

✅ 标准 SQL 风格


二、不支持“AUTO_INCREMENT 关键字”的数据库

数据库 是否支持 说明
PostgreSQL 用 SERIAL / IDENTITY
SQL Server 用 IDENTITY
Oracle 用 IDENTITY(或 SEQUENCE)
SQLite 用 INTEGER PRIMARY KEY

三、总结对照表

数据库 自增方式
MySQL / MariaDB AUTO_INCREMENT
PostgreSQL SERIAL / IDENTITY
SQL Server IDENTITY
Oracle IDENTITY
SQLite INTEGER PRIMARY KEY
DB2 IDENTITY

四、一句话总结 ✅

几乎所有主流关系型数据库都支持自增主键,只是名字和实现方式不同,MySQL 的 AUTO_INCREMENT 只是其中一种。

如果你有具体数据库(比如 PostgreSQL vs MySQL)或迁移场景,我可以给你等价写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI