Ir para conteúdo

POWERED BY:

Arquivado

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

Michael Cruz

Próximo AUTO_INCREMENT

Recommended Posts

Buenas pessoal.

 

Como eu faço para saber o próximo valor auto_increment?

 

Quero pegar sempre o próximo número.

 

Pensei em listar e pegar o último +1, porém se deletar algum valor o número vai se perder.

 

Procurei em vários fóruns e nada até agora.

 

Valeu mais uma vez!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o campo for auto incremento, mesmo ao deletar um registro o valor máximo será mantido.E

Exemplo:

Tenho a tabela com 50 registros, o próximo registro será 51. Mesmo que eu delete o registro 49, o

próximo será 51.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o campo for auto incremento, mesmo ao deletar um registro o valor máximo será mantido.E

Exemplo:

Tenho a tabela com 50 registros, o próximo registro será 51. Mesmo que eu delete o registro 49, o

próximo será 51.

 

Sim sim, mas o que eu quero saber é como pego esse valor próximo.

 

Um exemplo.

 

O Usuário está fazendo o cadastro e eu quero que mostre para ele já, qual vai ser o ID dele.

Mas como não fiz um insert ainda não sei, ai entra o que preciso, mostrar qual o auto_increment subsequente da coluna...

 

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar SHOW TABLE STATUS para obter informações da tabela.

Exemplo de como pegar o valor auto_increment.

 

$conn = mysqli_connect("host","user","pass","database") or die ( mysqli_error());
$tabela = mysqli_query($conn,"SHOW TABLE STATUS LIKE 'sua_tabela'")or die(mysqli_error());
$lista_informacoes = mysqli_fetch_array($tabela);
echo $lista_informacoes['Auto_increment']; //exibe o valor auto_increment

 

Rode SHOW TABLE STATUS LIKE 'sua_tabela' e veja outras informações de sua tabela que pode ser obtida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

//repare que criei um apelido "ultimo_id" para "campo"
$query = mysql_query("SELECT MAX(campo) AS ultimo_id FROM tabela");
$res = mysql_fetch_array($query); 
echo $res["ultimo_id"];

Porém cuidado. Se 2 usuários fizerem o select ao mesmo tempo,

será exibido o mesmo id para ambos.

Então pode tudo ir pelos ares.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um outro problema com a função do Marcos Xavier, se por acaso deletar algum registro nesta tabela não ira pegar o valor correto do campo auto_increment.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com o Ricardo...

 

ID

1

2

3

 

Deleto o 3

O script pegaria o 2

Somando-se +1 iria ser o 3 que foi deletado.

 

Correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom só que tem um porem Dellacurtais e se por exemplo eu pego e deleto o ultimo id nesse caso teria um problema.

 

Verdade, não tinha pensando nisto quando comentei kkkk

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.