Sắp xếp giảm dần theo cột AUTO_INCREMENT và lấy hàng đầu tiên (LIMIT 1).
Ví dụ
Tạo bảng có UserId AUTO_INCREMENT:
mysql> create table DemoTable (
UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserName varchar(20)
);
Query OK, 0 rows affected (0.56 sec)Chèn 7 bản ghi (UserId 1-7):
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | John | | 2 | Larry | | 3 | Chris | | 4 | Bob | | 5 | Carol | | 6 | David | | 7 | Robert | +--------+----------+
Lấy ID lớn nhất
mysql> select *from DemoTable order by UserId desc limit 0,1;
+--------+----------+ | UserId | UserName | +--------+----------+ | 7 | Robert | +--------+----------+
Cách thay thế:
SELECT MAX(UserId) FROM DemoTable- nhanh hơn, dùng indexSELECT LAST_INSERT_ID()- chỉ lấy ID vừa insert trong session hiện tại
Dùng MAX() cho hiệu năng tốt nhất trên bảng lớn.