Tenho uma tabela em meu Banco de Dados com uma coluna onde a PK é um INTEGER AUTO_INCREMENT cujo valor vai continuar crescendo quando dados são adicionados ou apagados desta tabela.
Primeiro Problema:
10 linhas de dados foram adicionados a tabela das quais linhas 9 e 10 foram removidas. Pelas regras do Auto Incremento o próximo valor será 11 e não 9.
Solução:
Use a query:
ALTER TABLE NomeDaTabela AUTO_INCREMENT = 1
Isto vai retornar o próximo valor do auto incremento para o atual maior valor na coluna +1. Assim o valor do auto incremento recomeça do 9 para o próximo inserto.
Segundo Problema:
10 linhas de dados foram adicionados a tabela das quais linhas 4 e 5 foram removidas. Pelas regras do Auto Incremento o próximo valor será 11 mas eu gostaria que fosse 4.
Solução:
Use a query:
SET insert_id = 4;
INSERT INTO NomeDaTabela VALUES (’blah’, ‘…’);
Isto vai adicionar valores a linha 4.
O SET insert_id = #
(onde # é o valor do proximo auto incremento a ser usado) vai marcar o proximo valor de auto incremento a ser usado e a proxima query(INSERT) que for executada usara este valor.






