2
respostas

Super dica que aprendi ao pesquisar.

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

Execução e resultado do comando SELECT MATRICULA,NOME FROM participantes;Selecionei todos os casos, agora vou aplicar a função MAX() para confirmar qual é o valor máximo.

Aplicação da função MAXmatricula

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');

Insira aqui a descrição dessa imagem para ajudar na acessibilidadePerceba que a matrícula foi preenchida automaticamente, conforme descreve o auto increment.

2 respostas

Oii, Júlio! Tudo bem?

Parabéns por ir além das aulas para ampliar os seus conhecimentos! Essa prática de pesquisar, se aprofundar no conteúdo para resolver problemas, encontrar outras maneiras de fazer e até mesmo de otimizar, ajudar a fixar os conhecimentos adquiridos.

Fico muito feliz pelo resultado da sua pesquisa, continue assim!

Caso surja dúvidas, abra um novo tópico e compartilhe conosco.

Bons estudos, Júlio!

Muito bom!