Skip to content

数据库标识列的定义和使用要点

Published:  at  10:46 PM

标识列(自增长列)

一、什么是标识列

标识列(Identity Column),又称 自增长列(AUTO_INCREMENT),是一种由数据库系统自动维护数值的列。

其核心特征是:

在插入数据时,无需手动指定该列的值,数据库会自动生成一个递增的数值。

自增长列通常用于表示 记录的唯一标识,例如主键 ID。


二、标识列的特点

  1. 必须与键配合使用

    • 通常是 主键(PRIMARY KEY)
    • 也可以是 唯一键(UNIQUE)
    • 不推荐与外键直接搭配使用
  2. 一个表中只能有一个标识列

  3. 标识列的类型必须是数值型

    • 常见:INT
    • 也可以是其他整型(如 BIGINT
    • 不推荐使用浮点型作为自增长列

三、创建表时设置标识列

1. 创建表示例

DROP TABLE IF EXISTS tab_identify;

CREATE TABLE tab_identify (
    id   INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20)
);

说明:


2. 插入数据示例

INSERT INTO tab_identify VALUES (NULL, 'Leslie');
INSERT INTO tab_identify VALUES (NULL, 'Jesie');

SELECT * FROM tab_identify;

说明:


3. 清空表数据(注意影响)

TRUNCATE TABLE tab_identify;

使用 TRUNCATE 清空表后,自增长计数器会 重置,下一条记录通常从 1 开始。


四、自增长步长与起始值

1. 查看自增长相关系统变量

SHOW VARIABLES LIKE '%auto_increment%';

常见变量:


2. 设置自增长步长

SET auto_increment_increment = 3;

设置后,自增长值将按指定步长递增(如:1 → 4 → 7)

⚠️ 该设置为 会话级或全局级配置,通常用于主从复制场景,不建议在普通业务中频繁修改。


五、修改表结构添加标识列

如果表已存在,也可以通过修改字段的方式设置自增长列:

ALTER TABLE tab_identify
MODIFY COLUMN id INT UNIQUE AUTO_INCREMENT;

说明:


六、使用标识列的注意事项


七、小结

合理使用自增长列,有助于简化数据插入逻辑并保证记录唯一性。


Suggest Changes

Previous Post
事务控制语言详解与实现
Next Post
数据库常见数据类型详解