Auto increment no postgre?

6 respostas
F

boa tarde galera… existe alguma forma de fazermos um auto increment no postgre?

se fosse no MySql seria

create table usuario { idusuario integer NOT NULL auto_increment, nome text NOT NULL }

e no postgre?

abraços…

6 Respostas

S

Bom dia,
no postgres o tipo auto increment é o serial.

P

o postgreSQL trabalha com sequence, igual ao Oracle…

Referencia:
http://pgdocptbr.sourceforge.net/pg80/datatype.html#DATATYPE-SERIAL

"8.1.4. Tipos seriais

Os tipos de dado serial e bigserial não são tipos verdadeiros, mas
meramente uma notação conveniente para definir colunas identificadoras
únicas (semelhante à propriedade AUTO_INCREMENTO existente em alguns
outros bancos de dados). Na implementação corrente especificar

CREATE TABLE nome_da_tabela (
nome_da_coluna SERIAL
);

equivale a especificar:

CREATE SEQUENCE nome_da_tabela_nome_da_coluna_seq;

CREATE TABLE nome_da_tabela (

nome_da_coluna integer DEFAULT

nextval(nome_da_tabela_nome_da_coluna_seq) NOT NULL

);

"

espero ter ajudado…

F

funciono 100% :grin:

mais e a minha tabela que ja esta pronta (mais sem dados dentro) eu vo te que refaze ela?
nao tem um jeito de modifica-la?

P

se sua tabela não tem dados, dropa ela e cria de novo…eh sempre a forma mais garantida, não esquece de referenciar a PK pra usar a sequence…

S

Para alterar tu vai ter que fazer um comando ALTER TABLE .

Se não tiver informação na tabela você pode dar um
DROP TABLE e depois cria ela de novo.

Na documentação tem exemplo destes comandos.

t+

F

como nao tinha dados… peguei e deletei :grin:
valeu! e obrigado pela ajuda!

Criado 20 de fevereiro de 2007
Ultima resposta 23 de fev. de 2007
Respostas 6
Participantes 3