Jump to content
Fórum Script Brasil
  • 0

auto increment delete


misa

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...