AFAIK non esiste un identificatore interno univoco (ad esempio un semplice ID riga).
puoi forse essere in grado di eseguire un SELECT
senza alcun ordinamento e quindi ottieni l'n-esima riga usando un LIMIT
. In quali condizioni è affidabile e sicuro da usare, un guru di MySQL dovrebbe confermare. Probabilmente non lo è mai.
Prova a giocare con phpMyAdmin , il frontend web per MySQL. È progettato per gestire tavoli mal progettati senza chiavi. Se ricordo bene, usa tutti colonne che può ottenere in questi casi:
UPDATE xyz set a = b WHERE 'fieldname' = 'value'
AND 'fieldname2' = 'value2'
AND 'fieldname3' = 'value3'
LIMIT 0,1;
e così via.
Anche questo non è del tutto sicuro per i duplicati, ovviamente.
L'unica idea che mi viene in mente è quella di aggiungere una colonna chiave in fase di esecuzione e rimuoverla al termine dell'app. È un'idea che fa venire la pelle d'oca, ma forse meglio di niente.