如何在 MySQL 中获取表的当前 AUTO_INCREMENT 值?


为了知道当前自动增加的值,我们可以使用 last_insert_id() 函数。首先,我们将借助 INSERT 命令创建一个表。

创建表格 −

mysql> CREATE table AutoIncrement
-> (
-> IdAuto int auto_increment,
-> primary key(IdAuto)
-> );
Query OK, 0 rows affected (0.59 sec)

创建表后,我们将借助 INSERT 命令插入记录。插入记录 −

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.48 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.09 sec)

现在,我们将借助 SELECT 命令查看已插入到表格的记录数。

显示所有记录 −

mysql> SELECT * from AutoIncrement;
+--------+
| IdAuto |
+--------+
| 1      |
| 2      |
| 3      |
| 4      |
+--------+
4 rows in set (0.00 sec)

因此,最后一个自动增加值为 4。这是了解已插入当前值(即 4)的查询。

mysql> SELECT last_insert_id();

输出如下 −

+------------------+
| last_insert_id() |
+------------------+
| 4                |
+------------------+
1 row in set (0.00 sec)

下面是说明下一个自动增加值查询。其语法如下 −

SELECT `AUTO_INCREMENT`
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'yourDatabaseName'
AND TABLE_NAME = 'yourTableName';

现在,我正在应用上述查询 −

mysql> SELECT `AUTO_INCREMENT`
-> FROM INFORMATION_SCHEMA.TABLES
-> WHERE TABLE_SCHEMA = 'business'
-> AND TABLE_NAME = 'AutoIncrement';

输出如下 −

+----------------------------+
| AUTO_INCREMENT             |
+----------------------------+
| 5                          |
+----------------------------+
1 row in set (0.13 sec)

从上述查询中,我们获得了下一个增加值。

更新日期:25-6 月-2020

6 千 + 查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告