MySQL数据库-列的完整性约束-自增约束

设置表字段值自动增加(AUTO_INCREMENT)

AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当想数据库表中插入新纪录时,字段上的值会自动生成唯一的ID。在具体设置AUTO_INCREMENT约束时,一个数据库中只能有一个字段使用该约束,该字段的数据类型必须是整数类型。由于设置AUTO_INCREMENT约束后的字段会生成唯一的ID,因此该字段也经常会同时设置成主键。

设置表中某个字段值的自动增加约束非常简单,可以在MySQL数据库管理系统中通过SQL语句AUTO)INCREMENT来实现,其语法形式如下:

CREATE TABLE tablename(

propName propTypeAUTO_INCREMENT,...);

在上述语句中,tablename参数表示所要设置非空约束的字段名字,propName参数为属性名,propType为属性类型,propName字段要设置自动约束增加约束。默认情况下,字段propName的值从1开始增加,每增加一条记录,记录中该字段的值就会在前一条记录(或已经存在的最大值)基础上加1。

代码示例:

mysql> create table class(id int primary key auto_increment,name varchar(64));    #创建表
mysql> desc class;        #描述表的信息
mysql> insert into class(name)values('Mr.Wang');    #为表添加数据
mysql> insert into class values(10,'Mr.Lang');
mysql> insert into class(name)values('Mr.Zang');
mysql> select*from class;    #显示表中的数据

创建一个表设置一个字段为自增约束和主键约束:

MySQL数据库-列的完整性约束-自增约束_第1张图片

 再为表添加数据:

MySQL数据库-列的完整性约束-自增约束_第2张图片

 则可以发现添加数据时会从1开始添加,如果里面已经有数据了,则会根据历史最大值的情况下自增1。

注意: mysql8 中,AUTO_INCREMENT 必须设为键(主键、外键和唯一键均可)! 否则会报错!

你可能感兴趣的:(数据库)