如何在 MySQL 中设置初始值和自动增量?
AUTO_INCREMENT属性用于为新行生成唯一标识。如果列被声明为“NOTNULL”,则可以将NULL分配给该列以生成数字序列。
当任何值插入到AUTO_INCREMENT列中时,该列将被设置为该值,并且该序列也会被重置,以便它在从最大列值开始的顺序范围内自动生成值。
可以更新现有的“AUTO_INCREMENT”列,这也将重置“AUTO_INCREMENT”序列。最近自动生成的'AUTO_INCREMENT;可以使用LAST_INSERT_ID()SQL中的“”函数或使用mysql_insert_id()CAPI函数“”检索值。
这些函数是特定于连接的,这意味着它们的返回值不受执行插入操作的其他连接的影响。可以使用“AUTO_INCREMENT”列的最小整数数据类型,它足够大以容纳用户所需的最大序列值。
AUTO_INCREMENT规则
使用AUTO_INCREMENT属性时需要遵循以下规则-
每个表只有一个AUTO_INCREMENT列,其数据类型通常为整数。
AUTO_INCREMENT列需要被索引。这意味着它可以是PRIMARYKEY或UNIQUE索引。
AUTO_INCREMENT列必须有一个NOTNULL约束。
当AUTO_INCREMENT属性设置为列时,MySQL会自动将NOTNULL约束添加到自己的列中。
如果未将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”列的表fr的名称。'specificValue'指的是一个整数,从用户指定的'AUTO_INCREMENT'值开始。