Gå til innhold

Idiotspørsmål. ID som autoteller. MySQL


Gjest Slettet-IHWlGMJn

Anbefalte innlegg

Gjest Slettet-IHWlGMJn

Har en tabell der jeg vil at primærnøkkelen skal være en autoteller, men vet ikke helt hvordan :blush: Prøvde å sette default som +1, men det funket jo ikke så bra. Hadde vel ikke helt ventet at det skulle gå heller..

 

Har også en timestamp jeg vil at skal ha current_timestamp, men tiden blir 2 timer for tidlig. Dette har kanskje noe med hvor serveren står(Og dermed hva klokken til serveren er), men kan jeg ikke bare legge inn en +2 et eller annet sted for å løse det?

Evt. gjøre det utenfor databasen med php..? Hvordan legger jeg i så fall til 2 timer ved bruk av php?

Endret av Slettet-IHWlGMJn
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet-IHWlGMJn
AUTO_INCREMENT er det du leter etter.

8935255[/snapback]

Funka fint det. Takker :) Går det an og på en måte resete tellinga? Sånn at om jeg f.eks sletter nr. 5 så blir nr. 6 til 5 og 7 til 6 etc.

Endret av Slettet-IHWlGMJn
Lenke til kommentar
Gjest Slettet+142

Tror du må kjøre en egen SQL da. Man trenger som oftest ikke å resette increment-verdien.

 

Tror det er noe slikt:

ALTER TABLE tabell SET AUTO_INCREMENT=1;

Lenke til kommentar
Går det an og på en måte resete tellinga? Sånn at om jeg f.eks sletter nr. 5 så blir nr. 6 til 5 og 7 til 6 etc.
Som mariyo nevner er det mulig å resette telleren, men det skal ikke være behov for å gjøre det under normal drift.

 

Når det gjelder å "trekke sammen" slik at du unngår "hull" i tallrekken, så er det helt feil utgangspunkt. Auto-inkrementerende primærnøkler brukes når det ikke spiller noen rolle hvilken verdi som settes inn i feltet, så lenge det er unikt. Hvis du virkelig har behov for å gjøre et slikt stunt, så er det heller ikke riktig å bruke auto-inkrementering.

Lenke til kommentar
AUTO_INCREMENT er det du leter etter.

8935255[/snapback]

Funka fint det. Takker :) Går det an og på en måte resete tellinga? Sånn at om jeg f.eks sletter nr. 5 så blir nr. 6 til 5 og 7 til 6 etc.

8935371[/snapback]

Eh, nei det går ikke. Du kan ikke bare slett en midt i rekka for å få automatisk nummerering av radene. Jeg regner dessverre med at det tar noe tid før MySQL kommer med SÅ god støtte for SQL.

 

Dersom du har et relativt lite datasett kan du ta en titt på How to simulate the SQL ROW_NUMBER function.

 

Hvis det er sideinndeling du er på jakt etter vil jeg anbefale deg å se på LIMIT, som er en del av SELECT i MySQL.

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