Kết hợp ORDER BY cotId DESC với LIMIT 1 trong câu lệnh DELETE để xóa bản ghi có ID lớn nhất.
Ví dụ
Tạo bảng 6 bản ghi (UserId không liên tiếp):
mysql> create table DemoTable (
UserId int,
UserName varchar(20)
);
Query OK, 0 rows affected (0.57 sec)Dữ liệu: 100, 234, 145, 278, 289, 277 (MAX = 289)
Xóa ID lớn nhất
mysql> delete from DemoTable order by UserId DESC limit 1; Query OK, 1 row affected (0.15 sec)
Kiểm tra (289 đã bị xóa):
+--------+----------+ | UserId | UserName | +--------+----------+ | 100 | John | | 234 | Mike | | 145 | Sam | | 278 | Carol | | 277 | Bob | +--------+----------+
Lưu ý: ORDER BY ... LIMIT trong DELETE được hỗ trợ từ MySQL 4.0. Đảm bảo có index trên cột ORDER BY để tránh filesort trên bảng lớn.
Cách an toàn hơn: DELETE FROM DemoTable WHERE UserId = (SELECT MAX(UserId) FROM DemoTable) - rõ ràng hơn, tránh nhầm lẫn khi có đồng thời.