Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JonatasFn

Auto Incremet não pular códigos utilizados

Recommended Posts

Pessoal, não sei se estou no lugar certo, mas lá vai...

 

 

Eu tenho uma tabela com um campo ID, configurado com o AutoIncrement (MySQL), o problema é:

 

cadastro 3 registros, assim: 1, 2 e 3. Depois excluo os registros 2 e 3. Quando vou cadastrar o próximo registro ele já pula para o 4, pq eu já usei o 2 e 3.

 

Existe algo a se fazer para ele não pular os códigos q já foram utilizados? Ou seja, continuar do próximo q no caso seria o 2 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha é o seguinte:

 

dependendo do banco de dados utilizado, se o campo for do tipo autoincrement, isso que você disse realmente vai ocorrer..

 

caso queira resolver esse problema, você deverá fazer a rotina de autoincrement na mão com o comando "select MAX(ID) as MID from TABELA" na hora de incluir um novo registro, porém, no seguinte exemplo:

 

inclui os registros: 1, 2, 3, 4 e 5.

exlui o registro: 3.

 

ao incluir um novo registro, ele será o número 6 e não o 3... caso você queira utilizar o número 3, você deverá fazer uma varredura no banco de dados, registro por registro para verificar qual número está inutilizado, mas, dessa maneira, você pode comprometer muito o desempenho do sistema.

 

 

outra maneira (caso seja realmente mmmmmuuuuuuuuito necessário reutilizar números):

 

você cria uma tabela onde registra os números que foram excluidos (inutilizados), fazendo uma checagem nessa tabela na hora de incluir, reutilizando tais números ...

 

 

espero que tenha ficado claro !!

 

 

abraços !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.