Computer >> Máy Tính >  >> Lập trình >> MySQL

Dự trữ các ID tăng tự động MySQL?

Để đặt trước các ID tăng tự động MySQL, cú pháp như sau -

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

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

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

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

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)

Đây là truy vấn để đặt trước các ID auto_incremented của MySQL -

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

Hãy để chúng tôi kiểm tra giá trị auto_incremented dành riêng. Truy vấn như sau -

mysql> select @IncrementedValue;

Đây là kết quả -

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