Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách lấy ID auto-increment tiếp theo trong MySQL?


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)