
Auto Increment
#1
Posted 23/04/2009, 12:00
Estou com uma dúvida aqui no meu BD
Meus IDs estão configurados para serem Auto Increment, porém quando eu deleto algum campo do My SQL o Auto Increment não começa de onde parei, ele continua inserindo sem seguir a ordem numérica.
Por exempo:
Eu tenho os IDs 1, 2 e 3
Quando eu Excluo o registro 3 os próximos cadastros começam do número 4 e não do número 3
Ai eu fico com um buração na contagem
Como corrigir isto?
#2
Posted 26/04/2009, 21:29
eu acho que o mysql é configurado assim mesmo, pra mim acontece a mesma coisa,
nao sei se tem como corrigir.
desculpe nao poder ajudar, mas esse problema nao eh soh com vc.

#3
Posted 27/04/2009, 10:20
qdo vc exclui 1 registro inteiro (por exemplo o nº 3), está "dizendo" ao banco de dados q não existe o registro nº 3..
então os outros terão q ser, logicamente, outros nºs.. pq o nº 3 ele ñ vai mais poder usar..
o q é preciso é saber diferenciar o conteúdo de 1 registro c/ o registro em si..
c vc deseja alterar os dados do registro nº 3, então edite o conteúdo do(s) campo(s).
p/ renumerar os registros, 1 solução aparentemente simples seria criar outra coluna autonumeração,
mas atençao: logicamente isso vai afetar toda a organização interna dos dados,
por exemplo consultas q ja são executadas normalmente, rotinas como stored procedures (programação interna) etc.
isso num banco de dados de certo porte (de uma empresa, por exemplo)..
imaginem o q pode rolar..
bem, o tema é 1 tanto extenso.. + facil qqer duvida a gente voltar a ter contato.
disponham e sucesso
Edição feita por: Fernando C, 27/04/2009, 10:26.
#4
Posted 30/04/2009, 14:00
Pensei que fosse muito mai fácil,
Pensei que existisse algum comando que fizesse a reorganização da numeração de IDs por exemplo
Banco de dados pegue a coluna ID da tabela expositores e renumere iniciando do numero 1
kkkkk (existe isso)?
#5
Posted 04/05/2009, 22:07
veja bem.. d fato não é tão simples, mas tb n e complicado demais..rs..
se a sua tabela não está relacionada a outras, tente fazer 1 backup do seu banco
(precaução e caldo de galinha..) e crie 1 nova coluna c/ autonumeração..
agora criar 1 comando assim como vc disse:
Banco de dados pegue a coluna ID da tabela expositores e renumere iniciando do numero 1
d repente pode ate rolar sim, SQL vc n acredita o q faz, qdo começa a conhecer bem essa linguagem..
mais ou menos isso é q é 1 stored procedure, d repente disparada p/ 1 trigger..
mas ahe t sugiro pesquisar + ou lançar a questão no forum d sintaxe SQL:
http://forum.wmonlin...p?showforum=441
pq nessa area ainda estou engatinhando.. (n repare,ok?)
#6
Posted 21/05/2009, 12:27
Estou com uma dúvida aqui no meu BD
Meus IDs estão configurados para serem Auto Increment, porém quando eu deleto algum campo do My SQL o Auto Increment não começa de onde parei, ele continua inserindo sem seguir a ordem numérica.
Meu amigo , bom dia.
Encare seu ID como a própria abreviação já mostra o sentido da chave. ID vem de identificação. Compare a RG, ele é único a uma pessoa e tudo que essa pessoa fez na vida estará associado a este RG. Apartir do momento que você identificar um conjunto de informações com a identificação 3, todos os relacionamentos ou função, estará associado a aquele conjunto de informações. Por esse motivo o banco não irá retroceder na seqüencia de identificação.
Vamos a um exemplo bastante grotesco mas que você irá entender melhor.
Exemplo:
Imagina um sistema médico, em que você cadastrou seus paciente e todos os procedimentos realizados nos pacientes. Vamos supor que seu banco não está muito bem relacionado e tá possibilitando a exclusão do paciente e não está verificando os procedimentos realizados.
Daí você exclui do seu banco o paciente Marcelo que teve sua perna direita ampultada, se o banco retroceder a identificação e permitir que você coloque no lugar do marcelo um outro paciente um Alfredo da vida. Os procedimentos se aplicarão ao Alfredo e no seu banco irá informar que quem está sem uma perna é o Alfredo e não o Marcelo.
É um exemplo muito forte mais passa a você a cautela necessária devida a se mexer com a identificação da suas informações, sem contar vários outras mais técnicas.
Espero ter ajudado.
#7
Posted 21/05/2009, 14:35
A única forma de poder recomear a numeração é dando um TRUNCATE TABLE, mas acho isso loucura, pelo fato de limpar sua tabela.
Até mais

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador
Twitter: HostCheap
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)