Logo Hardware.com.br
verneklavor
verneklavor Membro Senior Registrado
240 Mensagens 1 Curtida

Problema com MySQL e PHP (delete SQL)

#1 Por verneklavor 14/12/2009 - 22:09
Quando eu deleto um registro em uma tabela SQL o ID continua concatenando, deixando dezorganizado a ordem dos IDs.

Exemplo do problema:

1 Carlos
2 Joao
3 Maria

Quando eu deleto o registro 'Joao' e insiro um novo registro 'Pedro'.

1 Carlos
3 Maria
4 Pedro

Gostaria de uam solução, grato.

Estou fazendo em PHP o codigo sql está assim:
$sql = ("DELETE FROM tbregistros WHERE codNome='$codNome"
godfull
godfull Membro Senior Registrado
371 Mensagens 5 Curtidas
#2 Por godfull
15/12/2009 - 14:34
Eu acho que desta forma seria mais interessante, pois assim você saberia quantas inserções foram feitas no banco e nao aconteceria de ocorrer engano.
Exemplo:
Uma empresa com varios funcionarios, um funcionario por algum motivo nao pode alterar na hora e anotou o ID cedo para incluir um valor no saldo ou algo assim da pessoa.
Só que neste intervalo outro funcionario deletou esta pessoa, entao quando o a primeiro funcionario vai alterar e busca pelo id, pois é mais anotar um ID e entao altera a pessoa errada !

Bom, mas como você quer que fiqe em ordem, acredito que teria que reogarnizar os ID toda vez que deletar alguma linha, pois o auto incremento do MySQL não faz essa tarefa, ele toma conta para que nao repita nenhum número.

Se eu estiver falando bobeira pode falar ai... pois nao entendo muito !
Vendo: Notebook: AlienWare M14x | i7 2630QM | GT 555M 3GB | 2x 2GB 1600Mhz (Caixa muito linda, manual, CDs, menos de 5 meses de uso!)

Computador: Atualizando
jcferranti
jcferranti General de Pijama Registrado
4.7K Mensagens 162 Curtidas
#3 Por jcferranti
15/12/2009 - 15:02
Se vc está usando o auto_incremento, vai ter que deixar de usá-lo.
por lógica, ao deletar um registro importante vc não deveria reutilizá-lo. Seu banco tem que ser muito bem pensado para poder reutilizar e não ter informações conflitantes.

Para fazer da forma que vc quer só manualmente, ou seja, ao inserir seu programa vê qual ID está livre e o usa!
Casa:MS Windows Seven (empolgando)
Trampo: MS Windows Seven (desapontando)

Quer um Fórum exclusivamente sobre Open Source? Aqui: www.linuxbsd.com.br/forum
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal