AFAIK không tồn tại số nhận dạng nội bộ duy nhất như vậy (giả sử, một ID hàng đơn giản).
Bạn có thể có thể có thể chạy một SELECT
mà không có bất kỳ phân loại nào và sau đó lấy hàng thứ n bằng cách sử dụng LIMIT
. Trong những điều kiện đáng tin cậy và an toàn để sử dụng, mySQL Guru sẽ cần xác nhận. Có lẽ là không bao giờ.
Thử chơi với phpMyAdmin , giao diện người dùng web cho mySQL. Nó được thiết kế để đối phó với những chiếc bàn có thiết kế xấu, không có chìa khóa. Nếu tôi nhớ không nhầm, nó sử dụng tất cả các cột nó có thể giữ trong những trường hợp như vậy:
UPDATE xyz set a = b WHERE 'fieldname' = 'value'
AND 'fieldname2' = 'value2'
AND 'fieldname3' = 'value3'
LIMIT 0,1;
và như thế.
Tất nhiên, điều đó cũng không hoàn toàn an toàn.
Ý tưởng duy nhất nảy ra trong đầu tôi là thêm một cột chính trong thời gian chạy và xóa nó khi ứng dụng của bạn hoàn tất. Đó là một ý tưởng ngớ ngẩn, nhưng có lẽ còn hơn không.