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开始。