Để đặ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)