Medlem
|
|
Reg.datum: Jul 2008
Inlägg: 214
|
|
Medlem
Reg.datum: Jul 2008
Inlägg: 214
|
Lite blandade känslor att jag stötte på denna "buggen"/speccen, hade gärna varit lyckligt ovetande om detta beteendet, enda jag kommer på varför dom inte vill spara värdet annat än i ram är för att minska overheaden vid användandet av auto_increment, det skulle ju annars bli en extra skrivning till disk för varje increment värdeökning, men ja, jag hade gärna sett att man kunde välja beteendet åtminstonde så den faktiskt sparar värdet.
Jag har nu bytt så att min arkiverande tabell sköter auto_increment och så får min tillfälliga tabell styras av den, inga problem, kunde lika gärna varit så från början egentligen.
Vill inte byta till MyISAM heller, rätt skönt att köra transaktioner i InnoDB.
Iaf, kommer inte manuellt spara auto_increment värdet, nu vet jag ju om detta beteendet och det är sällan jag startar om mysql service eller servern, sällan den krashar också, så jag kan ju manuellt sätta auto_increment värdet om något av det inträffar.
Men som sagt, jag hade hellre sett att det åtminstonde fanns ett val att spara auto_increment när man kör InnoDB, blev sjukt förvånad när jag vaknade en morgon och kollade loggarna och dom var sprängfyllda med:
"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '402' for key 'PRIMARY'"
Jag har alltid till 100% litat blint på att auto_increment skall garantera ett unikt värde, men i mitt scenario (om än går att undvika) så garanterades det inte
Senast redigerad av JesperA den 2013-06-14 klockan 18:00
|