在 MySQL 中使用 AUTO_INCREMENT 列

让我们了解如何在 MySQL 中使用 AUTO_INCREMENT 列 -

AUTO_INCREMENT 属性用于为新行生成唯一标识。让我们看看这个语句是如何工作的。在此之前,请考虑以下查询 -

询问

CREATE TABLE tableName (

   id MEDIUMINT NOT NULL AUTO_INCREMENT,

   name CHAR(30) NOT NULL,

   PRIMARY KEY (id)

);

INSERT INTO tableName (name) VALUES

(‘val1’),('val2'),('val3'),

('val4');

SELECT * FROM tableName;

输出结果
+----+---------+

| id | name    |

+----+---------+

| 1  | val1    |

| 2  | val2    |

| 3  | val3    |

| 4  | val4    |

+----+---------+

在上面的查询中,没有为 'AUTO_INCREMENT' 列指定值,因此 MySQL 自动为 'id' 列分配了一个数字序列。也可以显式分配值 0,以便编号序列从 0 开始。只有在未启用“NO AUTO VALUE ON ZERO”SQL 模式时才能这样做。

如果列被声明为“NOT NULL”,则可以将 NULL 分配给该列以生成数字序列。

当任何值插入到 AUTO_INCREMENT 列中时,该列将被设置为该值,并且该序列也会被重置,以便它在从最大列值开始的顺序范围内自动生成值。

可以更新现有的“AUTO_INCREMENT”列,这也将重置“AUTO_INCREMENT”序列。最近自动生成的 'AUTO_INCREMENT; 可以使用LAST_INSERT_ID()SQL 中的“ ”函数或使用mysql_insert_id()C API 函数“ ”检索值。

使用 AUTO_INCREMENT 属性时需要遵循以下规则 -

  • 每个表只有一个 AUTO_INCREMENT 列,其数据类型通常为整数。

  • AUTO_INCREMENT 列需要被索引。这意味着它可以是 PRIMARY KEY 或 UNIQUE 索引。

  • AUTO_INCREMENT 列必须有一个 NOT NULL 约束。

  • 当 AUTO_INCREMENT 属性设置为列时,MySQL 会自动将 NOT NULL 约束添加到自己的列中。

以上是 在 MySQL 中使用 AUTO_INCREMENT 列 的全部内容, 来源链接: utcz.com/z/322821.html

回到顶部