MySQL 的自动递增是从 1 开始的吗?如何从另一个数字开始呢?


MySQL 中的自动递增每次都会生成一个唯一的数字。默认情况下,它从 1 开始。如果要从另一个数字开始,则需要使用 ALTER 命令更改自动递增值,或者在创建表时指定值。

让我们先创建一个表:

mysql> create table DemoTable
(
   UniqueNumber int NOT NULL AUTO_INCREMENT,
   PRIMARY KEY(UniqueNumber)
);
Query OK, 0 rows affected (0.53 sec)

使用 insert 命令在表中插入一些记录:

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.26 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.08 sec)

使用 select 语句显示表中的所有记录:

mysql> select *from DemoTable;

这将产生以下输出:

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

以下是将自动递增值更改为从另一个数字开始的查询:

mysql> alter table DemoTable AUTO_INCREMENT=1000;
Query OK, 0 rows affected (0.18 sec)
Records: 0 Duplicates: 0 Warnings: 0

使用 insert 命令在表中插入一些记录:

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

使用 select 语句显示表中的所有记录:

mysql> select *from DemoTable;

这将产生以下输出。现在新的自动递增值已插入,并从 1000 开始:

+--------------+
| UniqueNumber |
+--------------+
|            1 |
|            2 |
|            3 |
|            4 |
|         1000 |
|         1001 |
|         1002 |
+--------------+
7 rows in set (0.00 sec)

更新于:2019年10月3日

832 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.