Auto Increment Id no H2 Database

Postado em por Wolmir Cezer Garbin em Banco de Dados | 243 Visualizações
Última atualização em:

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

Todo mundo tem algo para vender, AnuncieOn.com o melhor site de anúncios grátis de todo o Brasil. ABRIR

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 formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

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