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 - TUTORIAL

Última atualização em: | 11224 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.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!