Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:esiste qualcosa come un identificatore di record interno per ogni record in una tabella MySQL?

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.