Intervalo números autoIncrement

Pessoal, tenho a seguinte situação:
suponhamo-nos em um registro de veiculos, eu tenha uma coluna do tipo ID autoincremente com os seguintes registros.

1 - veículo 1 2 - veículo 2 3 - veículo 3 4 - veículo 4

teoricamente, se eu excluir o registro de número 2 e inserir um novo veiculo, ele irá pegar o ID 5, ficando da seguinte maneira:

1 - veículo 1
3 - veículo 3
4 - veículo 4
5 - veículo 5

Ficando esse intervalo, entre o 1 e o 3. usando JDBC no mysql, existe alguma maneira de eu não permitir que fique essa lacuna sem ser update, uma vez que a tabela veiculo, não terá relacionamento com nenhuma outra tabela?

Até onde eu sei isso é um comportamento normal e padrão.

Imagine só, sua tabela com 600k de registros.

Se você apagar o número 3, vai ter que rolar uns 597k de updates soh para corrigir isso.

Oq vc poderia fazer era uma gambi bruta.

Criar uma trigger que irá desabilitar essa questão de chave primária, vc ia detonando nos updates e depois ligava a chave primária novamente.

Mas aconselho não viu. ^^

hm depende, tem outra solucao, vc pode fazer um select no banco para ver qual a ID tá vaga e usar ela

Uhum. tem essa também, mas aí vai ter que rolar uma consulta que vai varrer a tabela inteira. :lol: :lol:

Com certeza será menos custoso, mas ainda prefiro me forçar a gostar do 1,2,5,6. [=

Uhum. tem essa também, mas aí vai ter que rolar uma consulta que vai varrer a tabela inteira. :lol: :lol:

Com certeza será menos custoso, mas ainda prefiro me forçar a gostar do 1,2,5,6. [=[/quote]
Concordo com ele, só aconselho a fazer a minha sugestão caso, for um requisito do seu projeto, se não, não se preocupe com isso :smiley:

Existe alguma função, para que no caso de exclusão, eu possa fazer algo do tipo reparar a tabela?

Normalmente IDs não se reaproveitam, a menos que eles sejam muito escassos.

Vou dar um exemplo. Digamos que os números de RGs ou CPFs fossem reaproveitados, e você pegasse o número de um CPF de um criminoso que acabou de morrer. Você não teria um monte de problemas depois? Provavelmente não só não conseguiria abrir uma conta no banco, como também teria o risco de ser preso porque não deram baixa no sistema da polícia :twisted: :twisted: :twisted: :twisted: :twisted: