一般来说,自增值主要是数据表主键或者具有唯一性的字段,在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。
可在建表时使用“AUTO_INCREMENT=n”来指定一个自增的初始值,比如:
CREATE TABLE test
(
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(15) NOT NULL
)AUTO_INCREMENT = 100;
此例建立一个TEST表,主键ID设置为自增,初始值为 100。
当我们需要修改自增起始值时,可用 alter table table_name AUTO_INCREMENT=n 命令来重设。
比如表 test 的ID最大值为150,但是因为某种原因导致自增值已经到了250,所以需要重设为151以便于下次ID从151开始往上增,语法如下:
ALTER TABLE test AUTO_INCREMENT=151
说明:
(1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。
(2)把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样。但不建议这样做,还是以插入NULL值为好。
(3)当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值。
(4)当插入记录时,如果为AUTO_INCREMENT数据列明确指定了一个数值,则会出现两种情况,情况一ÿ