如何创建 MySQL 序列?
mysqlmysqli database
MySQL 中的序列是什么?
在 MySQL 中,序列是指从 1 或 0(如果指定)开始按升序生成的整数列表。许多应用程序需要序列,这些序列将用于生成唯一编号,尤其是用于识别。
示例
示例包括 CRM 中的客户 ID、HR 中的员工编号和服务管理系统中的设备编号。
要在 MySQL 中自动创建序列,需要设置列的 AUTO_INCREMENT 属性。这通常是主键列。
规则
使用 AUTO_INCREMENT 属性时需要遵循以下规则 −
每个表只有一个 AUTO_INCREMENT 列,其数据类型通常为整数。
AUTO_INCREMENT 列需要被索引。这意味着它可以是 PRIMARY KEY 或 UNIQUE 索引。
AUTO_INCREMENT 列必须具有 NOT NULL 约束。
当将 AUTO_INCREMENT 属性设置为列时,MySQL 会自动将 NOT NULL 约束添加到该列。
创建 MySQL 序列
让我们看一个创建 MySQL 序列的示例 −
CREATE TABLE tableName ( emp_no INT AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50) )
让我们了解 AUTO_INCREMENT 列的工作原理 −
AUTO_INCREMENT 列的起始值通常为 1。当在列中插入 NULL 值或在 INSERT 语句中省略值时,它会增加 1。
要获取最后生成的序列号,可以使用 LAST_INSERT_ID() 函数。
最后生成的序列在会话之间是唯一的。
如果另一个连接生成了序列号,可以使用 LAST_INSERT_ID() 函数获取它。
如果在表中插入新行并为序列列指定了值,则 MySQL 确保在序列号不存在于列中时插入序列号。