Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Problema com AUTO INCREMENT

Eu fiz uma tabela onde coloquei a coluna ID com o auto-encremento, eu exclui uma linha da tabela e agora sempre que eu insiro um novo produto na tabela o ID pula um numero.

por exemplo:

+----+----------+------------+----------+-------------------------------+

| id | valor | data | recebido | observacoes| +----+----------+------------+----------+-------------------------------+

| 1 | 950 | 2018-12-13 | 1 | geladeira quebrou |

| 2 | 400 | 2018-02-09 | 1 | celular usado da Samsung |

| 3 | 30990.99 | 2019-01-04 | 0 | Carro novo HB20 - Hyundai 1.4 |

| 5 | 250000 | 2019-09-12 | 0 | Casa para vender em Maresias |

+----+----------+------------+----------+-------------------------------+

reparem que na ultima coluna o ID foi para o numero 5 e não para o numero 4.

4 respostas

Olá Vitor!

Quando você se referiu a "eu exclui uma coluna da tabela", você realmente quis dizer coluna ou linha?

A exclusão de colunas não deveria afetar o auto incremento, porém, se você excluiu uma linha, esse numero, que foi gerado automaticamente, também foi excluído. Uma vez usado um número em auto incremento, nunca mais será gerado novamente. Ou seja, se eu excluir o ultimo registro da tabela, que por exemplo é o número 17, da próxima vez que adicionar um registro, será adicionado o registro 18 e realmente pulará o número 17.

Caso não seja essa a resposta que estava buscando, coloque mais informações sobre a tabela.

Abraços!

Olá Fabiano!

realmente me expressei errado, vou editar minha pergunta. Na verdade eu exclui a linha, neste caso eu conseguiria arrumar esse erro para no próximo registro ser adicionado o numero correto, na sequencia?

solução!

Olá Vitor, pelo que pesquisei, é possível resetar o auto incremento.

ALTER TABLE nome_da_tabela AUTO_INCREMENT = valor_do_reset;

Acredito que você poderia resetar para o número 4, fazer a inserção e resetar novamente para 6. Ou simplesmente apaga o registro de id 5, reseta para 4 e segue normalmente. Afinal, id (chave primária) é sempre um valor único e não pode ter duplicidades.

Mas uma coisa é certa, mais adiante no curso suas tabelas terão esses espaços de auto incremento.

Espero ter ajudado!

Muito obrigado Fabiano.

Usei este código que você informou e deu certo.

abraço!