Sắp hoàn tất. Bạn thành công trong việc nhận được thứ tự chèn. Vì vậy:
select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as init ORDER BY myrow desc LIMIT 1;
Trong bảng điều khiển của tôi, tôi nhận được những thứ sau:
mysql> select myId, @rowid:[email protected]+1 as myrow from maxID, (SELECT @rowid:=0) as
init ORDER BY myrow desc LIMIT 1;
+------+-------+
| myId | myrow |
+------+-------+
| A003 | 4 |
+------+-------+
1 row in set (0.00 sec)
Bản trình diễn
CẬP NHẬT
Yak nói đúng. Giải pháp của tôi không mang tính xác định. Có thể nó hoạt động với số lượng bản ghi nhỏ. Tôi nhận thấy rất nhiều bài đăng không đáng tin cậy về cách sắp xếp mặc định của câu lệnh SELECT ( ví dụ ở đây ). Các bước tiếp theo:
- Trong điều kiện nào, việc sắp xếp SELECT mặc định phù hợp với thứ tự chèn?
- Có thể lấy bản ghi được chèn cuối cùng trong bảng mà không có id gia tăng hoặc dấu thời gian chèn không?
Tôi biết đó không phải là một câu trả lời, nhưng việc nêu rõ vấn đề sẽ hạn chế vấn đề.