如何在 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)
从上述查询中,我们获得了下一个增加值。
广告