MySQL dùng AUTO_INCREMENT (giá trị mặc định bắt đầu từ 1, tăng 1 mỗi bản ghi mới). Để lấy ID tiếp theo, dùng hàm LAST_INSERT_ID() hoặc truy vấn AUTO_INCREMENT từ INFORMATION_SCHEMA.TABLES.
Tạo bảng có cột auto_increment
mysql> CREATE TABLE NextIdDemo (
-> id INT AUTO_INCREMENT,
-> PRIMARY KEY(id)
-> );
Query OK, 0 rows affected (1.31 sec)
Chèn 3 bản ghi
mysql> INSERT INTO NextIdDemo VALUES(1); Query OK, 1 row affected (0.22 sec) mysql> INSERT INTO NextIdDemo VALUES(2); Query OK, 1 row affected (0.20 sec) mysql> INSERT INTO NextIdDemo VALUES(3); Query OK, 1 row affected (0.14 sec)
mysql> SELECT * FROM NextIdDemo;
+----+ | id | +----+ | 1 | | 2 | | 3 | +----+ 3 rows in set (0.04 sec)
Đã chèn 3 bản ghi → ID tiếp theo phải là 4.
Truy vấn lấy ID auto_increment tiếp theo
SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = "TenDatabase" AND TABLE_NAME = "TenBang";
mysql> SELECT AUTO_INCREMENT
-> FROM INFORMATION_SCHEMA.TABLES
-> WHERE TABLE_SCHEMA = "business"
-> AND TABLE_NAME = "NextIdDemo";
+----------------+ | AUTO_INCREMENT | +----------------+ | 4 | +----------------+ 1 row in set (0.25 sec)