Li recentemente que, devido ao modo como o InnoDB recalcula o valor AUTO_INCREMENT quando o servidor é reiniciado, qualquer registro na parte alta da lista de IDs pode ter seus IDs reutilizados.
Normalmente, isso não é um problema, porque quando um usuário é excluído, tudo associado ao ID também é excluído de outras tabelas.
Mas, deliberadamente, deixo as postagens no fórum órfãs, rotuladas como "Publicado por = Usuário nº 123 =", para que as conversas anteriores sejam mantidas. Claramente, se um ID for reutilizado, isso será um problema.
Eu nunca tive esse problema antes porque sempre havia novos usuários suficientes para tornar improvável a reutilização de um ID dessa maneira. No entanto, no meu novo projeto, as inscrições são raras e as exclusões de usuários inativas são frequentes (especialmente porque as contas "Open Alpha" duram apenas três dias como uma visualização), e essa reutilização de ID aconteceu três a três agora.
Eu "corrigi" o problema salvando o valor correto para AUTO_INCREMENT em outro lugar e usando-o em vez de confiar no valor interno. Existe uma maneira real de o InnoDB lembrar o último valor real?