預留 MySQL 自動增量 ID?


要預留 MySQL 自動增量 ID,語法如下所示 −

START TRANSACTION;
insert into yourTableName values(),(),(),();
ROLLBACK;
SELECT LAST_INSERT_ID() INTO @anyVariableName;

為了理解上述語法,讓我們建立一個表。建立表的查詢如下 −

mysql> create table reservingAutoIncrementDemo
   -> (
   -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY
   -> );
Query OK, 0 rows affected (0.45 sec)

使用 insert 命令在表中插入一些記錄。查詢如下 −

mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into reservingAutoIncrementDemo values(),(),(),();
Query OK, 4 rows affected (0.15 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> select *from reservingAutoIncrementDemo;
+--------+
| UserId |
+--------+
| 1      |
| 2      |
| 3      |
| 4      |
+--------+
4 rows in set (0.00 sec)
mysql> rollback;
Query OK, 0 rows affected (0.00 sec)

以下是預留 MySQL auto_incremented ID 的查詢 −

mysql> SELECT LAST_INSERT_ID() INTO @IncrementedValue;
Query OK, 1 row affected (0.00 sec)

讓我們檢查預留的自動增量值。查詢如下所示 −

mysql> select @IncrementedValue;

以下是輸出 −

+-------------------+
| @IncrementedValue |
+-------------------+
| 1                 |
+-------------------+
1 row in set (0.00 sec)

更新時間:30-Jul-2019

266 次瀏覽

開啟你的 職業生涯

透過完成課程取得認證

開始學習
廣告
© . All rights reserved.