Em alguma situação você já deve ter criado uma tabela e a chave primária segue uma ordem 1,2,3,4,5,.... Para isso é interessante usar o Auto Increment na hora de criar, certo?
O que fazer quando nós criamos a tabela e não colocamos isso? E fomos acrescentando registros manualmente? Quando demos conta já criamos uns 30 registros e precisaríamos apagar e criar tudo do zero?
Não.
Mando aqui um passo a passo.
Ao identificar que uma coluna deve seguir uma ordem, a primeira coisa que devemos fazer é saber qual o último registro, para isso usamos o comando SELECT MAX(Coluna_ordenada) FROM Tabela_a_ser_modificada Com isso receberemos o maior valor da coluna. No meu exemplo
Selecionei todos os casos, agora vou aplicar a função MAX() para confirmar qual é o valor máximo.
Selecionando tudo vemos que o último registro da coluna ordenada (no caso MATRICULA) é 15, confirmamos isso com o código citado anteriormente SELECT MAX(Coluna_ordenada) FROM Tabela_a_ser_modificada Adaptando para o meu caso: SELECT MAX(MATRICULA) FROM PARTICIPANTES;
Com isso confirmamos que o último registro é MATRICULA é 15.
Sabendo isso, o próximo passo é alterar a tabela para que a MATRICULA seja do tipo auto incremento.
ALTER TABLE Tabela_a_ser_modificada MODIFY COLUMN MATRICULA INT(ultimo_registro_mais_1) auto_increment; adaptando para o meu exemplo ALTER TABLE PARTICIPANTES MODIFY COLUMN MATRICULA INT(16) auto_increment;
Executa esse código... Aqui tem um detalhe importante, ao acrescentar novos registros você não precisa mais colocar a coluna MATRICULA, ela será preenchida automaticamente e ordenada à partir do 16. CONTUDOOOO na hora de passar os novos registros, as colunas devem ser ordenadas
INSERT INTO Tabela_a_ser_modificada(campo2,campo3,campo4,...) VALUES (valor_campo2,valor_campo3,valor_campo4,...); adaptando para o meu exemplo
INSERT INTO PARTICIPANTES(NOME,TELEFONE,classificação) VALUES ('Jonatan Lucas','XX912345678','I'), ('Aline','ZZ998765432','I'), ('Barbara Tribino','YY956781234','I');
Perceba que a matrícula foi preenchida automaticamente, conforme descreve o auto increment.