Criando auto_increment no postgres, ajuda ai [RESOLVIDO]

Boa noite, tenho um projeto de banco de dados da faculdade e preciso que as id’s que são primary key do meu banco se auto incremente ! Já fiz varias pesquisas na web só que o achei não me ajudou muito não. :sob:

Se alguém souber e conseguir me ajudar, vou ser grato !! :kissing_heart:

Estou usando de o Postgres 9.6.3

No PostgreSql use sequence:

CREATE SEQUENCE seq_cliente;

CREATE TABLE cliente
(
  id_cliente integer NOT NULL DEFAULT nextval('seq_cliente'),
  nome varchar(100) NOT NULL,
  CONSTRAINT cliente_pkey PRIMARY KEY (id_cliente)
);

No Java não coloque o campo que receberá automaticamente a sequence.

PreparedStatement ps = connection.prepareStatement("INSERT INTO cliente (nome) VALUES (?)");
ps.setString(1, "José");
ps.executeUpdate();

Na web eu vi isso, já criei a sequencia. que ficou assim:
> CREATE SEQUENCE pdvfast.sequencia_clientes_id
> INCREMENT 1
> MINVALUE 1
> MAXVALUE 8000000000
> START 1
> CACHE 1;

Mas porque na sua tabela você faz id_cliente integer NOT NULL DEFAULT nextval(‘seq_cliente’) ??

Te passei um exemplo simples que atende o que você perguntou. Se quiser se aprofundar sobre todas as possibilidades, como por exemplo chamar o nextval manualmente, estude a documentação: https://www.postgresql.org/docs/9.5/static/sql-createsequence.html

1 curtida