Gå til innhold

MySQL og auto_increment-verdi


Anbefalte innlegg

Er det noen her som vet hvordan man kan hente ut siste genererte auto_increment-verdi for en tabell?

 

Har søkt en del rundt og lest i MySQL-manualen, men finner ingen metoder for å hente den verdien, så jeg spør her i håp om at noen vet hvordan man gjør dette. :)

Lenke til kommentar
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);
?>

Lenke til kommentar
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'

Lenke til kommentar

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 MAX(id)+1 FROM tabell

 

Edit: Oops, pastet feil kode.. :blush:

Endret av lokaltog
Lenke til kommentar
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"

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...