Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como reutilizar chaves primárias excluídas no mysql?


Usando:
ALTER TABLE [your table name here] AUTO_INCREMENT = 1

... irá redefinir o valor de auto_increment para ser o próximo com base no valor mais alto existente na tabela. Isso significa que ele não pode ser usado para corrigir lacunas de mais de um.

A única razão para fazer isso seria para os cosméticos - o banco de dados não se importa se os registros são sequenciais, apenas se eles se relacionam de forma consistente. Não há necessidade de "corrigir" os valores por causa do banco de dados.

Se você estiver exibindo o id valores para o usuário, e é por isso que você gostaria que eles fossem sempre sequenciais, então eu recomendaria adicionar uma chave substituta. Use a chave substituta para exibir ao usuário, para que os valores possam ser re-sequenciados conforme necessário, mas a integridade referencial não é afetada. A chave substituta nesse caso seria uma coluna inteira.