我可以查詢到下一個要使用的自動遞增值嗎?
是的,你可以按照如下語法中所示使用 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)
廣告