AFAIK eksisterer ikke en sådan unik intern identifikator (f.eks. et simpelt række-id).
Du må måske være i stand til at køre en SELECT
uden nogen sortering, og få derefter den n-te række ved hjælp af en LIMIT
. Under hvilke forhold, der er pålidelige og sikre at bruge, skal en mySQL-guru bekræfte. Det er det nok aldrig.
Prøv at lege lidt med phpMyAdmin , web-frontend til mySQL. Det er designet til at håndtere dårligt designede borde uden nøgler. Hvis jeg husker rigtigt, bruger den alle kolonner, den kan få fat i i sådanne tilfælde:
UPDATE xyz set a = b WHERE 'fieldname' = 'value'
AND 'fieldname2' = 'value2'
AND 'fieldname3' = 'value3'
LIMIT 0,1;
og så videre.
Det er selvfølgelig heller ikke helt dobbeltsikkert.
Den eneste idé, der kommer til mig, er at tilføje en nøglekolonne under kørsel og fjerne den, når din app er færdig. Det er en gåsehudsfremkaldende idé, men måske bedre end ingenting.