原文为博主原创,整理笔记实属不易,如若转载,请注明出处
在系统开发中,我们经常要用到唯一编号,使用过MySQL的人都知道,MySQL有一个定义列为自增的属性,叫做auto_increment,在这里需要注意的是,anto_increment用来为设置自动编号,每一表只能有一个auto_increment列,使用auto_increment属性的字段,必须被索引。
1.使用auto_increment来创建自增属性时,该字段必须被指定索引,否则,创建数据表时会 出现错误
index(id)就是我添加的一个普通索引,index是索引名,如果我们在使用auto_incremetn时,没有给使用auto_incremetn的字段创建索引,创建数据表就会报错。如下图
2.有一种特殊的情况我们需要搞清楚:
有时候创建数据表时,auto_increment与主键约束(primary key)在同一个字段中使用,这个时候即使不指定索引,数据库也不会报错,这是因为在定义主键约束 结束后,MySQL会自动为主键创建一个唯一索引,索引名为primary,这就是为什么当我们把auto_increment与primary key(主键约束)一起使用时,不需要再给该字段创建索引,也能成功创建数据表的原因了.
如下图所示:
但是:如果使用auto_increment设置自增字段,没有与主键约束一同使用,则使用auto_increment的字段必须添加索引,否则创建数据表会出错,在上面演示过了。