📜  SQL自动增量(1)

📅  最后修改于: 2023-12-03 15:05:21.027000             🧑  作者: Mango

SQL 自动增量介绍

在 SQL 中,自动增量是指在插入数据时自动为指定的列生成唯一且递增的值。它通常应用于主键或其他需要唯一标识的列中。

自动增量字段的类型

在 SQL 中,自动增量字段通常被定义为整数类型,包括:

  • INT
  • BIGINT
  • SMALLINT
  • TINYINT
设置自动增量

在大多数 SQL 数据库中,可以使用 AUTO_INCREMENTIDENTITY 关键字来为自动增量字段设置值。以下是示例:

MySQL
CREATE TABLE my_table (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50)
);
PostgreSQL
CREATE TABLE my_table (
  id SERIAL PRIMARY KEY,
  name VARCHAR(50)
);
SQL Server
CREATE TABLE my_table (
  id INT IDENTITY(1,1) PRIMARY KEY,
  name VARCHAR(50)
);
插入数据

当插入数据时,自动增量字段将自动生成一个唯一的值。以下是示例:

INSERT INTO my_table (name) VALUES ('John');
INSERT INTO my_table (name) VALUES ('Mary');

在上面的示例中,id 列将设置为 12

获取自动增量值

在某些情况下,可能需要获取最后插入行的自动增量值。以下是示例:

MySQL
INSERT INTO my_table (name) VALUES ('John');
SELECT LAST_INSERT_ID();
PostgreSQL
INSERT INTO my_table (name) VALUES ('John') RETURNING id;
SQL Server
INSERT INTO my_table (name) VALUES ('John');
SELECT SCOPE_IDENTITY();
总结

使用自动增量字段可以为您的数据表提供一个唯一标识符,这非常有用。在插入数据时,数据库将自动生成下一个递增的值,这使得插入数据变得更为简单。