Loopar in värdena till databasen (MySQL) och allt funkar bra. Den lägger in id 1 2 3 4 osv, precis som den ska.
Men om jag raderar t.ex id 3 och 4 så lägger den nästa gång in typ, 8 7 5 6!
Hur är detta möjligt? Är det något i loopen, eller något annat? Vill ju ha dom i ordningsföljd.
id - auto_increment
5 svar · 241 visningar · startad av Pedda
De hamnar i ordningsföljd. Inget id-värde kan återskapas, även om det raderats tidigare.
Dubbelkolla verkligen att de hamnar i den ordningen du beskriver. Har aldrig varit med om det.
Om det nu stämmer så handlar det förmodligen om en bugg.
Listar man dom bara rakt upp och ner med "SELECT * FROM tabell" så har jag varit med om att senare inlagda poster tar de lediga utrymmen som raderade poster hade. Och ordningen har blivit därefter.
För att få dom i id-ordning kör "SELECT * FROM tabell ORDER BY id". Fast ännu hellre kanske du skulle ha ett datum/tid-fält att sortera dom efter.
cyprys - inget id återskapas, raderar jag id 3 så skapas inte en ny id 3.
det är ordningsföljden som stör mig.
matte - sorteringen vid utskrift är inget problem, men jag vill även ha ordning i databasen :)
Det finns ingen funktion i Mysql som garanterar att du får id i nummerföljd. Den enda avsikten med auto_increment är att skapa unika värden. Jag förstår inte att det skulle vara något problem om det är luckor bland värdena.
Jag hade för mig att man kunde köra "OPTIMIZE table tabell" för att kunna använda luckorna igen. Prova det och berätta hur det gick..