如何在 MySQL 中设置初始值和自动递增?
AUTO_INCREMENT 属性用于为新行生成唯一的标识。如果某列声明为“NOT NULL”,则可以为该列分配 NULL 以生成一系列数字。
当任何值插入到 AUTO_INCREMENT 列时,该列将设置为该值,并且序列也将重置,以便它自动生成值,按从最大列值开始的顺序范围。
可以更新现有的“AUTO_INCREMENT”列,这也会重置“AUTO_INCREMENT”序列。可以使用 SQL 中的“LAST_INSERT_ID()”函数或使用“mysql_insert_id()”(这是一个 C API 函数)来检索最近自动生成的“AUTO_INCREMENT”值。
这些函数是特定于连接的,这意味着它们的返回值不受执行插入操作的其他连接的影响。“AUTO_INCREMENT”列可以使用最小的整数数据类型,该类型足够大以容纳用户所需的最高序列值。
AUTO_INCREMENT 的规则
使用 AUTO_INCREMENT 属性时,需要遵循以下规则:
每个表只有一个 AUTO_INCREMENT 列,其数据类型通常为整数。
AUTO_INCREMENT 列需要被索引。这意味着它可以是 PRIMARY KEY 或 UNIQUE 索引。
AUTO_INCREMENT 列必须具有 NOT NULL 约束。
当 AUTO_INCREMENT 属性设置为某列时,MySQL 会自动为该列添加 NOT NULL 约束。
如果尚未向表中添加 id 列,则可以使用以下语句:
ALTER TABLE tableName ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id);
如果 id 列已存在,则可以使用以下命令:
ALTER TABLE tableName AUTO_INCREMENT=specificValue;
这里,tableName 指的是需要设置“AUTO_INCREMENT”列的表的名称。“specificValue”指的是用户指定“AUTO_INCREMENT”值开始的整数。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP