MySQL:创建表查询中的“ AUTO_INCREMENT = 5”是什么?

创建表查询中的AUTO_INCREMENT = 5表示第一条记录将从5开始,即不是默认值1。众所周知,如果您未将值设置为AUTO_INCREMENT,则MySQL默认从1开始。

语法如下:

CREATE TABLE yourTableName
(
yourColumnName1 dataType NOT NULL AUTO_INCRMENT,
.
.
.
N,
PRIMARY KEY(yourColumnName1 )
)AUTO_INCREMENT=5;

为了理解上述语法,让我们创建一个表。

情况1-由于表是默认标准,因此表从1开始自动递增。

创建表的查询如下:

mysql> create table defaultAutoIncrementDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> PRIMARY KEY(Id)
   -> );

现在,您可以使用insert命令在表中插入一些记录。查询如下:

mysql> insert into defaultAutoIncrementDemo(Name) values('John');
mysql> insert into defaultAutoIncrementDemo(Name) values('James');
mysql> insert into defaultAutoIncrementDemo(Name) values('Robert');
mysql> insert into defaultAutoIncrementDemo(Name) values('Mike');

现在,您可以显示所有记录,并检查该行将从1开始。查询如下:

mysql> select *from defaultAutoIncrementDemo;

以下是输出:

+----+--------+
| Id | Name   |
+----+--------+
|  1 | John   |
|  2 | James  |
|  3 | Robert |
|  4 | Mike   |
+----+--------+
4 rows in set (0.00 sec)

Case2-这是从5开始auto_increment的查询。创建表的查询如下:

mysql> create table AutoIncrementStartsFrom5
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(10),
-> PRIMARY KEY(Id)
-> )AUTO_INCREMENT=5;

现在,使用insert命令在表中插入一些记录。查询如下:

mysql> insert into AutoIncrementStartsFrom5(Name) values('Larry');
mysql> insert into AutoIncrementStartsFrom5(Name) values('David');
mysql> insert into AutoIncrementStartsFrom5(Name) values('Bob');
mysql> insert into AutoIncrementStartsFrom5(Name) values('Ricky');

使用select语句显示表中的所有记录。查询如下:

mysql> select *from AutoIncrementStartsFrom5;

以下是输出:

+----+-------+
| Id | Name |
+----+-------+
| 5 | Larry |
| 6 | David |
| 7 | Bob   |
| 8 | Ricky |
+----+-------+
4 rows in set (0.00 sec)

查看示例输出,auto_increment从5开始。