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

auto increment delete


misa

Pergunta

Olá a todos, sou novato com o MySql e tenho a seguinte situação:

uma simples tabela (MySql) com 2 campos: id_codigo (auto increment) e nome_item.

Como exemplo insiro 3 registros:

id_codigo - nome_item

1 caneta

2 lapis

3 borracha

Após apagar todos os registros desta tabela e inserir um próximo registro, tem-se:

id_codigo - nome_item

4 regua

Observo que a variável auto_increment esta correta.(id_codigo = 4)

A minha dúvida é a seguinte:

Se após apagar todos os registros e desligar o PC, onde esta rodando o MySql, e inserir um próximo registro o auto_increment é ZERADO.

O que fazer para manter a variável auto_increment no mesmo valor antes de desligar o PC?

Obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Se após apagar todos os registros e desligar o PC, onde esta rodando o MySql,

Em lugar nenhum. Não está rodando o MySQL. Ele está desligado.

e inserir um próximo registro o auto_increment é ZERADO.

O auto_increment é uma variável que fica armazenada no seu banco de dados. Mais especificamente, na estrutura de sua tabela.

(A)Quando o comando for

DELETE FROM minhatabela
Todos os registros serão apagados e o valor de auto_increment será último número inserido + 1. Ou seja, ele continuará armazenado na estrutura da tabela. No seu caso o último número inserido foi o 3. 3+1 4. Este serão próximo número a ser inserido quando a tabela sofrer um insert.

(B)Por outro lado, quando o comando for

TRUNCATE TABLE minhatabela
Todos os registros serão apagados e o valor de auto_increment será 0+1. O próximo registro a sofre um insert receberá o número 1.

O que fazer para manter a variável auto_increment no mesmo valor antes de desligar o PC?

Se entendi esta pergunta, então ela se refere a resposta (A) do questionamento acima.

A solução para reinicializar o numero do auto_increment é

ALTER TABLE minhatabela
AUTO_INCREMET = 0
.
Link para o comentário
Compartilhar em outros sites

  • 0

Olá Denis, Boa Tarde!

Assim como você citou no Item "A", ao usar o comando "DELETE FROM minhatabela" a variável auto_increment é igual a 4, porém ao reiniciar o PC, o valor desta variável volta com zero, sendo que o correto seria 4.

O que estou fazendo de errado? Já simulei esta situação em 3 PC (windows 7) com o MySql 5.5 e a variável auto_increment também é zerada, isto é, depois de usar o comando "DELETE FROM minhatabela".

Obrigado mais uma vez!

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,2k
    • Posts
      652k
×
×
  • Criar Novo...