Id ficar na sequencia depois de um delete

Olá pessoa, sou novo na parte de persistência, preciso de uma ajuda.

Como faço para que os ids auto_increment mudem caso haja um delete na minha tabela.
Por exemplo: Tenho uma tupla em que o id é 3, daí digamos que eu delete a tupla onde o id é 2. Com isso quero que o id 3 passe a ser 2 pra ficar na sequencia! Só que todas as tabelas que tem esse id como foreign key tem que mudar também pra não dar problema no banco.
Ou caso tenha um numero q foi deletado, o banco utilizar ele como id futuramente! Já que reorganizar o banco deve ser mó empenho!

Alguém me da uma ajuda nisso. Agradeço!

Oi, eu não sei te responder, mas por curiosidade, por que você quer fazer isso?

Bom eu imagino que um id autoincrement tenha um limite de caracteres. Ex.: Eu poder ter até id = 1000. Então pra eu usar melhor meu limite!

Eu posso estar viajando? É isso mesmo ?

Não rola.
Re-identificar todo o seu banco por uma exclusão ? Já imaginou o peso de um procedimento destes ? Com certeza um id nao utilizado é um problema infinitamente menor.

Acredito que você não possa fazer isso.
Imagine você ter 10 mil registros e excluir o registro 5.
O custo que teria o banco de dados para fazer isso que você quer.
E ainda mais, varios acessos no banco e ele tendo isso para fazer. Como ficariam esses os acessos?

[quote=romarcio]Acredito que você não possa fazer isso.
Imagine você ter 10 mil registros e excluir o registro 5.
O custo que teria o banco de dados para fazer isso que você quer.
E ainda mais, varios acessos no banco e ele tendo isso para fazer. Como ficariam esses os acessos?[/quote]

A verdadae! Eu não tinha pensado nisso. Mas agora a dúvida é:

Se eu exclui o registro 2 a sequencia ficou 1,3,4,5

Em alguma inserção futura o banco vai inserir no 2 por este numero estar livre??

[quote=wellingtonfoz][quote=romarcio]Acredito que você não possa fazer isso.
Imagine você ter 10 mil registros e excluir o registro 5.
O custo que teria o banco de dados para fazer isso que você quer.
E ainda mais, varios acessos no banco e ele tendo isso para fazer. Como ficariam esses os acessos?[/quote]

A verdadae! Eu não tinha pensado nisso. Mas agora a dúvida é:

Se eu exclui o registro 2 a sequencia ficou 1,3,4,5

Em alguma inserção futura o banco vai inserir no 2 por este numero estar livre??[/quote]

Acredito que não. Pq o auto incremento insere sempre após o último registro.

1, com auto_increment (caso MySQL) ou com uma sequence (caso Oracle) ou qualquer semelhante em outro SGBD não haverá a inclusão de um “id” que tenha sido previamente deletado.
O que cada SGBD faz é “buscar” o último “id” inserido e somar à ele o que é necessário.
2, em termos de performance, quando se tem 100 registros, tudo bem, é viável. Mas a cada aumento ou numa base muito grande, isso poderá levar horas.
3, se você quiser, tira o auto_increment e trata disso “no braço”