Gå til innhold

MySQL og auto_increment-verdi


Anbefalte innlegg

Videoannonse
Annonse

SELECT COUNT(id) AS totalt FROM tabellnavn;

 

denne vil telle antall rader i tabellen. dersom man

da har slettet en eller flere rader vil denne gi feil resultat.

 

dersom man nettopp har lagt til noe i en tabell, kan

du bruke funksjonen mysql_insert_id(). men BARE

dersom du var den siste som la til noe.

 

en sikrere måte er å gjøre dette:

<?
 $tabell = mysql_query("INSERT ....");
 echo mysql_insert_id($tabell);
?>

denne vil telle antall rader i tabellen. dersom man

da har slettet en eller flere rader vil denne gi feil resultat.

 

dersom man nettopp har lagt til noe i en tabell, kan

du bruke funksjonen mysql_insert_id(). men BARE

dersom du var den siste som la til noe.

 

en sikrere måte er å gjøre dette:

<?
 $tabell = mysql_query("INSERT ....");
 echo mysql_insert_id($tabell);
?>

Er klar over at jeg kan kalle mysql_insert_id() for å sjekke resultatet etter siste INSERT-spørring, men poenget er at jeg gjerne vil hente ut denne verdien uten å sette inn en rad i tabellen først.

 

@jorgis:

ALTER TABLE `tabell` AUTO_INCREMENT = 'tall'

SirIce hjalp meg med å finne en løsning som funker fint for meg. Den henter ikke siste genererte auto_increment-verdi, men den sier hva verdien bør være.

 

SELECT COUNT(id)+1 AS totalt FROM tabell

Men denne vil ikke være riktig hvis noen eldre rader er blitt slettet.

 

Da er det bedre med: "SELECT id FROM tabellnavn ORDER BY id DESC LIMIT 1"

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...