如何获取 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)
通过上述查询,我们得到下一个增量值。