如何在MySQL中从特定点开始自动递增?


要从特定点开始自动递增,请使用ALTER命令。语法如下:

ALTER TABLE yourTableName auto_increment = anySpecificPoint;

为了理解上述概念,让我们创建一个表。创建表的查询如下:

mysql> create table AutoIncrementSpecificPoint
   −> (
   −> BookId int auto_increment not null,
   −> Primary key(BookId)
   −> );
Query OK, 0 rows affected (0.56 sec)

现在您可以使用insert命令插入记录。

查询如下:

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.17 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.17 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.09 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.10 sec)

上述insert命令从1开始,并在下一个值上加1。现在您可以使用select语句检查表中的所有记录。

查询如下:

mysql> select *from AutoIncrementSpecificPoint;

以下是输出:

+--------+
| BookId |
+--------+
|      1 |
|      2 |
|      3 |
|      4 |
+--------+
4 rows in set (0.00 sec)

查看上面的示例输出,auto_increment从1开始。

现在要更改auto_increment从特定点开始,可以使用ALTER命令。查询如下:

mysql> alter table AutoIncrementSpecificPoint auto_increment = 100;
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0

在上面的查询中,我已将自动递增设置为100。现在让我们再次使用insert命令在表中插入记录。查询如下:

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.25 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.18 sec)

mysql> insert into AutoIncrementSpecificPoint values();
Query OK, 1 row affected (0.14 sec)

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

mysql> select *from AutoIncrementSpecificPoint;

以下是显示自动递增的其他值的输出,即从100开始:

+--------+
| BookId |
+--------+
|      1 |
|      2 |
|      3 |
|      4 |
|    100 |
|    101 |
|    102 |
+--------+
7 rows in set (0.00 sec)

更新于: 2019年7月30日

295 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告