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

要知道当前的 auto_increment 值,我们可以使用该last_insert_id()函数。首先,我们将在 INSERT 命令的帮助下创建一个表。

创建表格 -

mysql> CREATE table AutoIncrement
-> (
-> IdAuto int auto_increment,
-> primary key(IdAuto)
-> );

创建表后,我们将在 INSERT 命令的帮助下插入记录。插入记录 -

mysql> INSERT into AutoIncrement values();

mysql> INSERT into AutoIncrement values();

mysql> INSERT into AutoIncrement values();

mysql> INSERT into AutoIncrement values();

现在,我们将在 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)

从上面的查询中,我们正在获取下一个增量值。