Auto_increment
#1
Posted 27/07/2004, 09:12
Dúvida básica: Tem alguma maneira de reordenar os numeros de uma coluna INT() tipo AUTO_INCREMENT no MySQL, para "tapar buracos" quando excluimos algum registro?
Ou, ainda reiniciar a contagem do AUTO_INCREMENT a partir de um número específico?!
Valeu!!
#2
Posted 27/07/2004, 09:16
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#3
Posted 27/07/2004, 09:20
ele quer usar um numero do campo que é auto incremento que foi deletado..o que vem a ser "Tapar Buracos" ??
bom alex acho que isso nao é possivel e se for nao vejo a necessidade e acho sme logica ja que o id é usado como caracteristica unica e é somente na comparacao interna..
#4
Posted 27/07/2004, 09:23
id = 1 | produto = mouse
id = 2 | produto = teclado
id = 3 | produto = monitor
ae eu deleto teclado:
id = 1 | produto = mouse
id = 3 | produto = monitor
vc queria que ficasse:
id = 1 | produto = mouse
id = 2 | produto = monitor
????
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#5
Posted 27/07/2004, 09:24
Seguinte, é uma tabela simples, e o id é só para ordenar, tipo o primeir, o segundo, terceiro registro e assim por diante.
Tipo um "ranking", e se um registro cai fora, ous outros devem subir....
Queria saber se da pra fazer isso automaticamente, ou tem que criar uma funça para, ao deletar, dar -1 em todos os registros maiores que o deletado, ou algo assim...
-------------------
Isso mesmo Marcão!
Edição feita por: Alexx Ares, 27/07/2004, 09:25.
#6
Posted 27/07/2004, 09:29
pq tipo...
... vc cria varios id's,o banco vai incrementando!! ou seja,ele deve ter algum tipo de controle ae!!
ae,vc substituir,sei não!!
acho que não da!!
mas vc disse que é uma tabela de ranking??
vc pode fazer de outro modo:
ranking de que??
como vc ta fazendo??
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#7
Posted 27/07/2004, 09:30
dai crie funcoes para ordenar os valores quando algum valor for mudado
#8
Posted 27/07/2004, 09:38
Valeu mesmo assim!
#9
Posted 27/07/2004, 09:40
se existe um campo ID que é autoincrement!!
se vc deletar ele e criar denovo!!
é zerado!!
mas ae os registros irão se perder!!
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#10
Posted 27/07/2004, 14:58
#11
Posted 27/07/2004, 22:51
E Marcão, não quero apagar tudo não pô!!
hehehehe...
Mas dexa quieto, já que não dá pra automatizar fiz um scriptzinho para subtrair 1 de todos os IDs ao deletar um registro e desabilitei o AUTO_INCREMENT pois não adianta subtrair somente, pois ao adicionar um novo registro ele vai pelo último número que tinha gravado, ele não conta o valor mais alto do campo e adiciona...
Ou seja, manti um INT() comum sem AUTO_INCREMENT e ao cadastrar um dado verifico o valor do último e adiciono 1... bem basicão mesmo!
Valeu aê!
#12
Posted 18/01/2005, 03:40
Só ressuscitei o tópico pelo fato de se alguém usar a busca, e só achar este tópico para talz, para não se desesperar...
Eu estava com a mesma dúvida... como recontar um campo id com auto incremento...
Dei uma pesquisada no site oficial do MySQL, e encontrei uma solução, mais viável...
Tipow é o seguinte:
Antes de tudo, faça um backup da tabela, para o caso de ocorrer algum problema...
Depois, delete o campo que tem o auto-incremento, no meu caso, chama id...
Agora, recrie ele denovo... (não se esqueça de deixá-lo auto-incremento...)
Pronto! Se tudo deu certo, a recontagem funcionará! Pelo menos aqui deu!
PS: se tudo der certo, não se esqueça de deletar o backup...
Flw's, T+V! Até mais
#13
Posted 18/01/2005, 08:35
Ambas as soluções não fazem o menor sentido, não se reconta indices de tabelas, pelo menos, como eu já disse, não faz sentido... Existe uma coisa em banco de dados chamada INTEGRIDADE REFERENCIAL, se vc fizer a recontagem de indices, por exemplo, num sistema pequeno de tres tabelas, vai causar uma desorganização de informação geral, vc pode se beneficiar de relacionamentos, mas, este não é um recurso muito utilizado e causaria uma carga muito grande no banco de dados, dependendo de quantos indices o sistema teria de reorganizar.
Ou seja... indice é indice, claro que, existem determinados momentos em que tal tarefa pode vir a ser necessária, mas... computacionalmente falando, não melhora em nada, pelo contrário.
Mero mortal!
#14
Posted 18/01/2005, 10:46
Antes, o ID auto-increment eu ja utilizava como ID de produto por exemplo:
ID | produto
Hoje, mantenho o ID como referencia interna, e para o produto, um outro id:
ID | id_produto | produto
Quando fizer uma query com id do produto, pego o id_produto e não o ID.
Assim, caso precise deletar um produto, e depois cadastrar denovo, e por algum motivo, preciso do mesmo id do produto, posso fazer isso.
Mas logicamente, cada caso é um caso... e as vezes isso atrapalha... enfim, a dica é boa, mas melhor ainda é planejar bem a tabela pensando no futuro
#15
Posted 14/10/2017, 10:09
Rayh Healthcare Trouve Viagra viagra Cialis Que Hace Achat Cialis 5mg Flagyl No Prescription
Tomar Priligy Caducado Zithromax Is Used To Treat online pharmacy Lasix Canada
No Prescription Amoxicillin 850 Propecia Barba Remove Pink Amoxicillin Stain From Clothes cialis price Buy Amoxicillin Online Canada Toronto Viagra Listino Prezzi Direct Isotretinoin Next Day Delivery Discount
Cheapest Viagra Pills For Sale Achat Viagra En Pharmacie En France Propecia Worked For Me Receding Hairline online pharmacy Where Can I Buy Nizagara? Mysearchdial
Cialis 20 Somministrazione Propecia Topical Thinning Hair viagra Achat De Viagra France Rx Legitimate Online Pharmacy
Cvs Pharmacy Viagra cost of levitra at cvs 360 Forum Dove Comprare Cialis
Ventolin Without Prescription India Macrobid Niftran Bacterial Infections Zithromax Prescription viagra online On Line Dutasteride Purchasing Medicine Cialis Sottobanco Viagra Criollo
Buy Cialis Brand Online viagra Levitra Sales In Usa Trama Propecia Female Pink Viagra Online
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)