Auto increment sem perda de sequência

2 respostas
elida

Como faço pra atualizar o número sequencial dos registros auto increment quando deleto algum registro do banco de dados? Tem algum comando sql que faz isso?? Obrigada.

2 Respostas

D

Bom… eu acho que a forma mais correta é essa de não ocupar numeros que já foram removidos (essa é a sua duvida, certo?)… O auto incremento deve seguir a sequencia e nao deve ficar voltando e preenchendo os numeros que foram apagados… Mas se mesmo assim vc precise que seja assim aí vai uma dica:

Eu particularmente não sei como fazer isso… mas eu creio que para ser mais clara e ter maiores chances de alguem responder, especifique em qual banco de dados vc está querendo fazer isso

louds

vc pode usar algo como, por exemplo:

lock table tbl;

update tbl set id = (select count(*) from tbl tt where tt.id &lt tbl.id) + 1;

release table tbl;

Só um aviso, isso vai ser LENTO caso você tenha um número razoavel de registros.

Criado 11 de setembro de 2006
Ultima resposta 12 de set. de 2006
Respostas 2
Participantes 3