前言
AUTO_INCREMENT是MySQL唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值会自动生成唯一的ID。在具体设置AUTO_INCREMENT约束时,一个数据库表中只能有一个字段使用该约束,该字段的数据类型必须是整数类型。由于设置AUTO_INCREMENT约束后的字段会生成唯一的ID,因此该字段也经常会同时设置成PK主键。
一、语句格式
设置表中某字段值的自动增加约束非常简单,可以在MySQL数据库管理系统中通过SQL语句AUTO_INCREMENT来实现,其语法形式如下:
CREATE TABLE tablename(
propName propType AUTO_INCREMENT, ......
);
在上述语句中,tablename参数表示所要设置非空约束的字段名字,propName参数为属性名,propType为属性类型,propName字段要设置自动增加约束。默认情况下,字段propName的值从1开始增加,每增加一条记录,记录中该字段的值就会在前一条记录(或已存在的最大值(包括曾经存在的))的基础上加1。
二、实际应用
mysql> create database school; #创建数据库school mysql> use school; #选择数据库school mysql> create table class(id int PRIMARY KEY AUTO_INCREMENT, name varchar(128) UNIQUE, teacher varchar(64)); #创建表class,设置字段id为自增长 mysql> show create table class ; #查询表class 的定义 |
注意: mysql8 中,AUTO_INCREMENT 必须设为键(主键、外键和唯一键均可)! 否则会报错!
总结
设置表字段值自动增加(AUTO_INCREMENT)格式:
create table tablename(字段名 数据类型 auto_increment ,... ... );