Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Loid

Reordenaar indices da tabela..

Recommended Posts

Boa tarde,

 

Pessoal tenho no banco de dados uma tabela com um indice autoincrement..

 

Ex: id = 0, id 1, id 3, id 9...

 

E como vocês perceberam alguns indices foram apagados e a id não esta na ordem.

 

Como faço para reordenar?

 

Colocar os indices 1,2,3,4...

 

Seria com um update??

 

Outra coisa que estou agarrando é o seguinte, para este mesmo procedimento, um script que pegue o total de id no meu banco, veifique e a atualize as ids', todas"..

 

Grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é auto incremento e não está na ordem?

 

tem certeza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

por que você quer mudar? Não faz sentido.

 

Imagine que seja um site de notícias: hoje a notícia X está com o ID 15. Amanhã, depois da alteração, será 13, 12, ou outro número.

Se um visitante passar o link da notícia hoje para um amigo, amanhã esse amigo verá uma outra notícia, pois o ID está errado.

 

ID não é algo para ficar mudando assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo mas é assim, a id é auto increment, mas como o bd foi atualizado, consequentemente a id esta assim, 1.2.3.5.8.9....

 

Então o seguinte, tenho um script em javascript, que precisa de uma ordenação crescente e sempre ordenada, 0,1,,2,3,4,5,6........153,154,155..

 

e assim vai, então criei uma outro coluna para conter estes valores, porem sempre apagar inserir um registro no bd vou ter que atualizar essa coluna entenem,. e a id neste momento é algo indispensavel nesta tabela..

 

assim preciso ter esta coluna sempre ordenada.. entendem?

Grato..

Compartilhar este post


Link para o post
Compartilhar em outros sites

será q você não está fazendo uma gambiarra no javascript?

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que a melhor forma seria selecionar todos os dados, remover a tabela, criá-la novamente (ou simplesmente fazer um DELETE, apesar de que isso não reiniciaria a contagem do auto_increment), e inserir tudo de novo.

 

Com UPDATE até daria, mas o auto_increment ficaria errado de novo.

 

Ainda estou achando loucura o que você quer fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você está tentando fazer aparentemente não tem motivo, já que o Gerenciador é quem deveria cuidar do índices. Pense no que acontece com os relacionamentos num caso como esse.

Acho que você deveria repensar o motivo do que quer e encontrar a solução correta. Se puder dizer o porque disso...

 

A solução do Beraldo deve funcionar, só complementando o que ele disse, ao invés de deletar a tabela e recriá-la, você pode simplesmente dar um TRUNCATE na tabela, isso vai retorná-la ao estado inicial.

 

Tópico movido: PHP=>MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom o seguinte, é uma função do google maps, que cria link como este, que ao clicar no link, ele exibe um marcador no mapa..

O java.. pega a ordenação dos meus marcadores no banco e cria eles no mapa, porem esta ordenação o googlem maps pega de forma crescente, 0,1,2.. porem como estou fazendo uma busca, com ajax, quando o usuario digita, ARAXA, ele verá o resultado, mas o link que contem a tag do java, minhafunção(X), onde x será igual a 0, . fazendo referencia ao unico marcado existtente...

 

este é o link..

 

È isto..

 

http://econym.org.uk/gmap/example_map3.htm

 

Então tenho que tentar pegar esta ordem de acordo com o banco, se não o usuario vai clicar no link, na busca, pensando que é x, mas quando for visualizar no mapa será x+1, por exemplo..

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.