Di recente ho letto che, a causa del modo in cui InnoDB ricalcola il valore AUTO_INCREMENT al riavvio del server, è possibile riutilizzare i propri ID in qualsiasi record nella parte alta dell'elenco ID.
Normalmente, questo non è un problema, perché quando un utente viene eliminato tutto ciò che è associato all'ID viene eliminato anche da altre tabelle.
Ma sto deliberatamente lasciando orfani i loro post sul forum, etichettati come "Inserito da = Utente # 123 =", in modo che le conversazioni passate vengano mantenute. Chiaramente, se un ID viene riutilizzato, questo sarà un problema.
Non ho mai avuto questo problema prima perché c'erano sempre abbastanza nuovi utenti da rendere improbabile che un ID venisse riutilizzato in questo modo. Tuttavia, nel mio nuovo progetto le iscrizioni sono rare e le cancellazioni degli utenti inattive sono frequenti (soprattutto perché gli account "Open Alpha" durano solo tre giorni come anteprima) e tale riutilizzo degli ID è avvenuto tre per tre ora.
Ho "risolto" il problema salvando il valore corretto per AUTO_INCREMENT altrove e usando quello invece di fare affidamento sul valore interno. Esiste un modo effettivo per far ricordare a InnoDB l'ultimo valore effettivo?