Ich habe kürzlich gelesen, dass aufgrund der Art und Weise, wie InnoDB den AUTO_INCREMENT-Wert beim Neustart des Servers neu berechnet, die IDs aller Datensätze am oberen Ende der ID-Liste möglicherweise wiederverwendet werden.
Normalerweise ist dies kein Problem, da beim Löschen eines Benutzers alles, was mit der ID verknüpft ist, auch aus anderen Tabellen gelöscht wird.
Aber ich lasse ihre Forenbeiträge absichtlich verwaist und als "Gepostet von = Benutzer # 123 =" gekennzeichnet, damit frühere Konversationen beibehalten werden. Sollte eine ID wiederverwendet werden, ist dies natürlich ein Problem.
Ich hatte dieses Problem noch nie zuvor, da es immer genug neue Benutzer gab, um es unwahrscheinlich zu machen, dass eine ID auf diese Weise wiederverwendet wird. Bei meinem neuen Projekt sind Anmeldungen jedoch selten und inaktive Benutzerlöschungen häufig (zumal die "Open Alpha" -Konten nur drei Tage als Vorschau gültig sind), und eine solche ID-Wiederverwendung wurde bereits drei für drei Mal durchgeführt.
Ich habe das Problem "behoben", indem ich den korrekten Wert für AUTO_INCREMENT an anderer Stelle gespeichert und diesen verwendet habe, anstatt mich auf den internen Wert zu verlassen. Gibt es eine Möglichkeit, InnoDB den tatsächlichen letzten Wert merken zu lassen?