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

Truy vấn giá trị AUTO_INCREMENT lớn nhất trong MySQL

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 index
  • SELECT 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.