自增?
主键自增:
CREATE TABLE test(
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(15) NOT NULL
)AUTO_INCREMENT = 100
可在建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。
alter table tbname auto_increment = x设置表tbname的唯一auto_increment字段起始值从x开始,如果此表数据量很多的话,这样执行起来会很慢
AUTO_INCREMENT说明:
(1)如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。
(2)把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样。但不建议这样做,还是以插入NULL值为好。
(3)当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值。
(4)当插入记录时,如果为AUTO_INCREMENT数据列明确指定了一个数值,则会出现两种情况,情况一,如果插入的值与已有的编号重复,则会出现出错信息,因为AUTO_INCREMENT数据列的值必须是唯一的;情况二,如果插入的值大于已编号的值,则会把该插入到数据列中,并使在下一个编号将从这个新值开始递增。也就是说,可以跳过一些编号。
(5)如果用UPDATE命令更新自增列,如果列值与已有的值重复,则会出错。如果大于已有值,则下一个编号从该值开始递增。
设置mysql 自动插入id,需要设置id为整形自动增长的主键。下面介绍设置方法,
通过一个例子说明:
创建一张表student
create table student(
id int(5) not null auto_increatment,
name varchar(20) not null,
age int(3) not null,
primary key(id))
在插入数据可以不用插入id,可以这样:
insert into student(name,age) values('xiaobai',12)第一条插入数据id默认是1
insert into student (name,age) values('xiaoming',11)第二条插入数据id默认是2,第三条,第四条,······,依次自动增加。
由以上例子可知表插入数据的时候,无需插入id,即可自动插入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)