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

MySQL:er der noget i retning af en intern post-id for hver post i en MySQL-tabel?

AFAIK eksisterer ikke en sådan unik intern identifikator (f.eks. et simpelt række-id).

Du 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.



  1. Træk poster fra ordretabellen for den aktuelle uge

  2. Hvordan kontrollerer man, om feltet er null eller tomt i MySQL?

  3. Vælg varer fra forskellige kilder, og bestil efter dato

  4. Håndtering af ExecuteScalar() når ingen resultater returneres