如何在 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)
從上述查詢中,我們獲得了下一個增加值。
廣告