Nykomling
|
|
Reg.datum: Oct 2012
Inlägg: 33
|
|
Nykomling
Reg.datum: Oct 2012
Inlägg: 33
|
Autoincrement
Hej Jesper!
Jag tycker din fråga verkar spännande och det kan finnas en potentiell bugg i någon version av Mysql som du har hittat.
Jag kunde inte låta bli att prova med en egen tabell i en Mysql med InnoDB motor. Lade in några poster som hade en auto inkrementell räknare i sig. Därefter startade jag om tjänsten för att se om räknaren var nollställd. Det var den inte.
Du skriver att din tabells data bara existerar några timmar eller kanske bara några dagar. Hur töms den? Men truncate nollställs såklart räknaren men inte med delete.
Tycker problemet verkar konstigt snudd på barockt. Kan du om du orkar skriva ned de olika steg du gör för att "tappa" räknarens värde.
Här är min tabell och de inställningar jag körde med (efter omstart av tjänst är värdet 5 inte 1). Hur ser din tabell ut?
CREATE TABLE `slask` (
`counter` int(11) NOT NULL AUTO_INCREMENT,
`someValue` char(50) COLLATE utf8_swedish_ci DEFAULT NULL,
PRIMARY KEY (`counter`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci
Serversetup
Mysql 5.5.28
Ubuntu 12.04
Sen skulle du kunna göra så att du faktiskt sparar last_insert_id i en annan tabell som du sedan alltid hämtar ifrån och sedan ändrar din tabell med ALTER TABLE tbl AUTO_INCREMENT = Ditt värde;
Men det låter som ett löjligt sätt att lösa ett okänt problem på. Det är nog bättre med en djupdykning och ta reda på orsaken.
Vänligen
Cornelii
|