Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhận bản ghi cuối cùng từ mysql

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 đề.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Trigger:Xóa khỏi bảng SAU KHI XÓA

  2. Nhập và chèn tệp sql.gz vào cơ sở dữ liệu bằng putty

  3. Tăng cường hiệu quả bên ngoài với MySQL và ejabberd

  4. Tạo một bảng duy nhất ở chế độ chỉ đọc mysql

  5. Cơ sở dữ liệu quan hệ thiết kế nhiều kiểu người dùng