Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

gsilva23

Problema no "ID"

Mensagens Recomendadas

gsilva23

Boas, tou a desenvolver uma base de dados dinâmica para uma empresa, utilizo php, html e o phpmyadmin. 

Eis a minha questão:  se eu apagar um  registo por ex o 8, quando volto a inserir ele não insere na linha com ID 8, mas sim na 9 .

Porque isso acontece??

 

Obg e boa programação

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Olá,

 

provavelmente porque a coluna ID é autoincrement.

https://www.w3schools.com/sql/sql_autoincrement.asp

Vê a definição da tabela e confirma. :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gsilva23

Sim, mas se tirar o auto incremento os dados em lista serão ordenados na mesma por ID? penso que não 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Se retirares o autoincrement, terás que ser tu a gerir o valor dessa coluna e isso dependerá do resto da definição da coluna.

Por que razão queres retirar o autoincrement?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gsilva23

Eu não pretendo retirar, simplesmente quando quero inserir dados numa linha anteriormente eliminada ele não deixa, "salta" um ID à frente. Apago a linha 8, quero inserir de novo mas ele insere na 9.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Acho que a questão aqui é que não deverias sequer dizer qual o ID que queres inserir. Esta coluna, sendo autoincrement, é gerida automaticamente pelo mysql.

Mostra por favor o código que insere na BD

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gsilva23

<?php include 'databaseprodutos.php';?> //faz a ligação à BD
<?php
$Tipo=$_POST['Tipo'];
$Quantidade=$_POST['Quantidade'];
$Linha=$_POST['Linha'];

//execute the query
 
mysqli_query($conn, "INSERT INTO blank(Tipo,Quantidade,Linha) //Insere na BD
 VALUES('$Tipo','$Quantidade','$Linha')");
 
  echo 'Dados Inseridos com sucesso' ; 

?>

 

 

PS: eu n digo onde quero inserir ele insere na linha asseguir

Editado por gsilva23

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Então está tudo a funcionar como esperado.

Simplesmente esquece o ID da linha que apagaste. Uma nova linha terá um ID gerado automaticamente que poderás depois usar para, por exemplo, relações entre com entidades/tabelas.

Se de facto isto é um problema para o sistema (o que com a informação que tenho não me parece) então se calhar não deverias estar a apagar linhas e a criar novas, mas sim a actualizar as existentes.

Sem mais detalhes e uma explicação do porquê de isto ser um problema...diria que está tudo ok.

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.