Ir para conteúdo
Fórum Script Brasil
  • 0

Manipular Banco De Dados Via Php


juliano.ma

Pergunta

Olá amigos,

Eu tenho um sistema simples de manipulação de banco de dados que inclui, deleta e edita os dados do banco.

Eu preciso do seguinte:

Eu tenho as seguintes colunas na tabela => id, titulo e texto.

exemplo;

primeira linha:

id = 1

titulo = aaa

texto = xxx xxx

segunda linha:

id = 2

tutulo = bbb

texto = yyy yyy

1 - Eu preciso fazer com que ao ser excluido o (id = 1) o (id = 2) passasse automaticamente para o (id = 1) e assim sucessivamente para todos os id's que vem depois.

2 - Também preciso fazer com que; se eu inserisse um novo (id = 1) o atual id = 1 passasse a ser id = 2 e assim sucessivamente para todos os que vierem depois.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Sinceramente, isso que você quer fazer é um tiro no pé... pois se por qualquer motivo o sistema falhar vai dar um pau geral... note que toda tabela precisa de um índice, estou assumindo que o índice da sua tabela é a coluna id, lembrando que índices não podem ser repetidos, logo id não pode se repetir... agora o que você tem que fazer:

1 - Se excluir algum registro:

Antes de apagar, guardar o ID que vai ser apagado, efetivamente apagar o registro, ai descobrir qual é o id mais alto, fazer um laço para atualizar o ID, onde o id novo de cada coluna será igual ao id atual da coluna - 1...

2 - Se você quiser inserir um id novo lá pelo meio:

Antes de inserir descobrir qual o id mais alto, modificar os id de modo que o id novo seja igual ao atual + 1, isso até chegar no id que efetivamente você quer inserir...

Sei que explicação não ficou muito clara, mas isso realmente não é uma boa idéia, pois se der uma zica (ex. uma queda de luz no meio do processamento) seu BD poderá ter sérios problemas de integridade...

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, por que você não deixa o id em auto_increment ?

Assim o próprio MySQL o manipula....

E vamos supor que você tenha os registros:

1

2

3

4

5

E exclua o número 3.

Ficará desta forma o seu database:

1

2

4

5

Algo que já é trabalho costumeiro para o MySQL, e ele não dará problema nenhum por não ter o registro número 3.

E como a tabela é indexada, o próximo registro a ser criado será o 6, e assim o database continua incrementando o campo id naturalmente.

Não sei bem qual é o tipo de serviço que você quer fazer, mas não vejo problemas em deixar números faltando quando um registro é apagado.

Editado por Lvcifer!
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...