Auto Increment Id no H2 Database

O H2 é um banco de dados muito versátil que pode ser utilizado de várias formas, veja neste post como criar um Auto Increment

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Banco de Dados

Última atualização em: | 1225 Visualizações

A primeira coisa que precisamos entender é para que serve um campo com Auto Incremento.

Em todos os casos que já precisei utilizar, o auto incremento é utilizado em campos de chave primária (Primary Key), e sempre que for inserir um registro o próprio banco de dados cuida para que estes valores não se repitam, sempre incrementando um valor sequencial numérico.

Veja também: Como utilizar o Banco de Dados h2 com Spring Boot.

Vamos entender na prática. Primeiro criamos a tabela SEM_AUTOINCREMENTO, veja:

CREATE TABLE SEM_AUTOINCREMENTO(
  ID INT PRIMARY KEY,
  NAME VARCHAR(255)
);

Note que o campo ID foi criado com o tipo INT e PRIMARY KEY, porém, não tem Auto Incremento.

Agora tentamos fazer o insert:

Insert into SEM_AUTOINCREMENTO(NAME) values ('Wolmir')

E obtemos o seguinte resultado:

NULL not allowed for column "ID"; SQL statement:
Insert into SEM_AUTOINCREMENTO(NAME) values ('Wolmir') [23502-197] 23502/23502 (Help)

Note que por não conter o Auto Incremento o campo ID precisa receber um valor.

Neste caso precisamos criar o insert dessa forma:

Insert into SEM_AUTOINCREMENTO(ID, NAME) values (1, 'Wolmir')


Usando AUTO_INCREMENTO no H2

Agora vamos a outro exemplo usando o Auto Incremento no campo ID.

CREATE TABLE COM_AUTOINCREMENTO(
  ID INT PRIMARY KEY AUTO_INCREMENT,
  NAME VARCHAR(255)
);

Note que o campo ID foi criado com o tipo INT, PRIMARY KEY e AUTO_INCREMENT.

Agora tentamos fazer o mesmo insert na nova tabela:

Insert into COM_AUTOINCREMENTO(NAME) values ('Wolmir')

E como resultado obtemos:

Insert into COM_AUTOINCREMENTO(NAME) values ('Wolmir');
Update count: 1
(1 ms)

Indicando que o registro foi inserido com sucesso. Para verificar podemos realizar uma consulta na tabela.

select * from COM_AUTOINCREMENTO

E podemos ver o que registro foi incluído com ID 1.

IDNAME
1Wolmir

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Wolmir Cezer Garbin

Wolmir Cezer Garbin

Sou Arquiteto de Software e fundador do Receitas de Código, amo minha profissão e com o Receitas de Código quero compartilhar um pouco deste conhecimento.

Ver mais sobre o autor

FIQUE POR DENTRO

Receba as novidades todo mês em seu e-mail!

Apoiadores


Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar