我可以查詢到下一個要使用的自動遞增值嗎?


是的,你可以按照如下語法中所示使用 SELECT AUTO_INCREMENT 查詢下一個自動遞增值 −

SELECT AUTO_INCREMENT
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA= yourDatabaseName AND TABLE_NAME=yourTableName;

讓我們首先建立一個表格 −

mysql> create table DemoTable
(
   ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientName varchar(20),
   ClientAge int
);
Query OK, 0 rows affected (1.33 sec)

使用插入命令向表中插入一些記錄 −

mysql> insert into DemoTable(ClientName,ClientAge) values('John',23);
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('Carol',21);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('Bob',24);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('David',25);
Query OK, 1 row affected (0.25 sec)

以下是使用 select 語句從表中顯示所有記錄的查詢 −

mysql> select *from DemoTable;

這將生成以下輸出 −

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 1        | John       | 23        |
| 2        | Carol      | 21        |
| 3        | Bob        | 24        |
| 4        | David      | 25        |
+----------+------------+-----------+
4 rows in set (0.00 sec)

以下是查詢下一個將在上述表格中使用的自動遞增值。

mysql> SELECT AUTO_INCREMENT
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA= 'sample' AND TABLE_NAME='DemoTable';

這將生成以下輸出 −

+----------------+
| AUTO_INCREMENT |
+----------------+
| 5              |
+----------------+
1 row in set (0.20 sec)

更新時間: 30-Jul-2019

73 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告