A palavra reservada AUTO_INCREMENT, permite que um determinado número seja gerado automaticamente quando um novo registro é inserido em uma tabela.
Normalmente, usamos o AUTO_INCREMENT no campo de chave primária que a gente gostaria que fosse criado de forma automática, em todas as vezes que um novo registro fosse inserido.
Por padrão, o valor inicial para AUTO_INCREMENT é 1. Esse valor aumenta 1 para cada novo registro inserido. Imagine em uma escola, quando você for cadastrar o primeiro aluno, ele terá o número de registro igual a 1, o próximo , igual a 2 e assim por diante.
A seguir, temos um exemplo de uma instrução SQL que define a coluna "id_banco" como um campo de chave primária de incremento automático na tabela " banco_de_dados". A tabela foi criada utilizando a IDE MySQL Workbench.
CREATE TABLE banco_de_dados (
id_banco int PRIMARY KEY NOT NULL AUTO_INCREMENT,
nome varchar(75) NOT NULL,
tipo_banco varchar(15) NOT NULL
);
Quando inserimos um novo registro na tabela " banco_de_dados", NÃO precisamos especificar um valor para a coluna "id_banco" (um valor único será adicionado automaticamente):
INSERT INTO banco_de_dados (nome,tipo_banco)
VALUES ('MySQL','Relacional');
INSERT INTO banco_de_dados (nome,tipo_banco)
VALUES ('Cassandra','Não-Relacional');
SELECT * FROM banco_de_dados;
Após a execução do comando, teremos o resultado, conforme exibido na imagem a seguir:
Para definir que a sequência do AUTO_INCREMENT comece por um determinado valor(Neste exemplo vou querer que a contagem recomece com o número 26), use a seguinte instrução SQL:
ALTER TABLE banco_de_dados AUTO_INCREMENT=26;
Pronto, alteração feita com sucesso . Agora, é só inserir novos registros e visualizar a alteração.
INSERT INTO banco_de_dados (nome,tipo_banco)
VALUES ('Oracle','Relacional');
INSERT INTO banco_de_dados (nome,tipo_banco)
VALUES ('MongoDB','Não-Relacional');
Pra demonstrar que deu tudo certo, ou seja, que o AUTO_INCREMENT começou no número 26, vamos fazer um select * from, para trazer todos os registros da tabela faculdades.
SELECT * FROM banco_de_dados;
Após a execução do comando, teremos o resultado, conforme exibido na imagem a seguir:
FOI ÚTIL? Comente com a gente.
Comentários
Postar um comentário