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

mysqlmysqli database更新于 2024/1/24 23:29:00

要了解当前的 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)

通过上述查询,我​​们得到下一个增量值。


相关文章