AFAIK nie istnieje taki unikalny identyfikator wewnętrzny (powiedzmy prosty identyfikator wiersza).
możesz może być w stanie uruchomić SELECT
bez sortowania, a następnie uzyskaj n-ty wiersz za pomocą LIMIT
. W jakich warunkach, które są niezawodne i bezpieczne w użyciu, Guru mySQL musiałby to potwierdzić. Prawdopodobnie nigdy nie jest.
Spróbuj pobawić się z phpMyAdmin , webowy frontend do mySQL. Jest przeznaczony do radzenia sobie ze źle zaprojektowanymi stołami bez kluczy. Jeśli dobrze pamiętam, używa wszystkich kolumny, które może uzyskać w takich przypadkach:
UPDATE xyz set a = b WHERE 'fieldname' = 'value'
AND 'fieldname2' = 'value2'
AND 'fieldname3' = 'value3'
LIMIT 0,1;
i tak dalej.
To oczywiście nie jest całkowicie bezpieczne dla duplikatów.
Jedynym pomysłem, który przychodzi mi do głowy, jest dodanie kolumny klucza w czasie wykonywania i usunięcie jej po zakończeniu pracy aplikacji. To pomysł wywołujący gęsią skórkę, ale może lepszy niż nic.