温馨提示×

温馨提示×

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

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

如何设置数据库的Auto Increment字段

发布时间:2026-07-02 03:58:18 来源:亿速云 阅读:95 作者:小樊 栏目:数据库

设置 Auto Increment(自增字段) 的方式取决于你使用的数据库类型。下面按常见数据库分别说明,并给出示例。


一、MySQL / MariaDB

1️⃣ 建表时设置自增

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50)
);

2️⃣ 已有表添加自增

ALTER TABLE users
MODIFY COLUMN id INT AUTO_INCREMENT;

✅ 注意:

  • 必须是 PRIMARY KEY 或 UNIQUE
  • 一般用于 INT / BIGINT
  • 默认从 1 开始

3️⃣ 设置起始值

ALTER TABLE users AUTO_INCREMENT = 100;

二、PostgreSQL(推荐用 SERIAL / IDENTITY)

✅ 方式一:SERIAL(旧方式)

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

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

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

或允许手动插入:

id INT GENERATED BY DEFAULT AS IDENTITY

三、SQL Server

1️⃣ 使用 IDENTITY

CREATE TABLE users (
    id INT IDENTITY(1,1) PRIMARY KEY,
    name VARCHAR(50)
);

说明:

  • (1,1) 表示从 1 开始,每次 +1

2️⃣ 已有表(不能直接改,需要重建表)


四、SQLite

自增写法

CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT
);

⚠️ 注意:

  • INTEGER PRIMARY KEY 本身就自增
  • AUTOINCREMENT 只是防止复用已删除 id(一般不推荐)

五、Oracle(12c 以后)

使用 IDENTITY

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

六、常见注意事项(非常重要)

✅ 1. 一个表只能有一个自增字段

✅ 2. 自增字段通常作为主键

✅ 3. 自增 ≠ 连续(删除数据不会回退)

✅ 4. 分布式系统慎用(可能冲突)


七、总结对照表

数据库 自增方式
MySQL AUTO_INCREMENT
PostgreSQL SERIAL / IDENTITY
SQL Server IDENTITY(1,1)
SQLite INTEGER PRIMARY KEY
Oracle GENERATED ... AS IDENTITY

如果你愿意,可以告诉我:

  • 使用的数据库类型和版本
  • 是否已有表结构

我可以帮你写出完全可用的 SQL 语句 ✅

向AI问一下细节

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

AI