如何在 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)

從上述查詢中,我們獲得了下一個增加值。

更新日期:25-6 月-2020

6 千 + 檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告