Para satisfazer a sua curiosidade, esta é a saída do SQL pane:
ALTER TABLE alunos ADD COLUMN id_aluno integer;
ALTER TABLE alunos ALTER COLUMN id_aluno SET NOT NULL;
ALTER TABLE alunos ALTER COLUMN id_aluno SET DEFAULT
nextval('alunos_id_aluno_seq'::regclass);
[]'s :)
Em 11-02-2013 10:55, Luiz Rafael Culik escreveu:
Ola Fabiano
O que o pgadmin fez foi provavelmente
alter table nomedatabela add column campoautoinc bigserial ;
[]s
Luiz
Em 11 de fevereiro de 2013 11:50, Fabiano Listas
<[email protected] <mailto:[email protected]>> escreveu:
Em 11-02-2013 07:16, Luiz Rafael Culik escreveu:
Ola Fabiano
qual o comando que vc criou essa tabela?
pois para criar um tipo autoincremento eu uso assim
create table minhatabela (aluno varchar(50) not null , id_aluno
bigserial PRIMARY KEY , data_nasc date);
Cara, na realidade a tabela já havia sido criada, entende? O que
eu queria era acrescentar uma nova coluna com a propriedade de
auto incremento. Eu fiz pelo PGAdmin e sabe Deus o comando que ele
usou pra fazer isso, hehehehhe... Mas agora que você postou o
comando pra mim eu vou AGORA anotar pra não esquecer mais!
Obrigadim!!!
Bom feriado!
[]s
Lui\
Em 10 de fevereiro de 2013 15:01, Fabiano Listas
<[email protected] <mailto:[email protected]>> escreveu:
Bom dia, colegas!
Considerem a seguinte situação: eu criei um BD chamado
"escola" e uma
tabela chamada "alunos". Na tabela "alunos", criei as
seguintes colunas,
nesta ordem: aluno (varchar), id_aluno (int) e data_nasc
(date). Setei
"aluno" como sendo NOT NULL e "id_aluno" como sendo NOT NULL
e "auto
increment" (serial).
Na hora de dar um "INSERT INTO alunos VALUE (etc, etc, etc);",
obviamente não será preciso que seja inserido o campo
"id_aluno", pois o
próprio SGBD cuida disso pra mim. Acontece que eu não sabia
como deveria
proceder. Pra mim, o fato de digitar: "INSERT INTO alunos
VALUE ('José
dos Anzóis Furados', 26/09/2003)" já fazia com que o SGBD
entendesse o
que deveria ser feito. Porém, na hora de dar um "select *
from" na
tabela vi que o campo "data_nasc" estava vazio e o "id_aluno"
estava
"-2008"! Tudo bem, então, vamos consertar o prejuízo
manualmente: dei um
UPDATE e setei o campo "id_aluno" como deveria estar! Porém,
ao tentar
inserir outro aluno (somente com o nome do aluno e mais nada)
o SGDB
reclamou:
escola=# INSERT INTO alunos VALUES ('José Bibiano Trigueiro');
ERROR: duplicate key value violates unique constraint
"alunos_pkey"
DETAIL: Key (id_aluno)=(1) already exists.
Diante disto eu pergunto:
1. Como "pular" o id_aluno na hora de inserir dados na tabela?
2. Como consertar esse erro para que ele volte a inserir os dados
corretos na tabela, já que ele vai tentar inserir a chave
inteira 1 sem
sucesso sempre? Ou seja, se uma coluna é auto increment e
mesmo assim
for setado um valor para ela "na marra", na próxima iteração
o SGDB vai
querer usar o valor que foi setado na marra e ele vai
reclamar. O que fazer?
3. Há ainda uma pergunta que não tem nada a ver com a
situação acima:
como inserir uma coluna "status" como sendo do tipo bit?
Tentei fazê-lo
com o comando "UPDATE alunos ADD COLUMN status bit;" e ele me
retornou a
seguinte mensagem:
ERROR: syntax error at or near "COLUMN"
LINE 1: UPDATE alunos ADD COLUMN status bit;
No caso da pergunta 1, alguém poderia dizer: "Ah! isso é
fácil! É só
digitar 'INSERT INTO alunos (aluno, data_nasc) VALUE (etc,
etc, etc);'"
Mas se a tabela tiver 50 colunas? Vou ter que digitar TODAS
as colunas
menos a que eu não quero, todas as vezes que eu for inserir
algum dado
na tabela? Ex: "INSERT INTO alunos (aluno, data_nasc, pai,
mae, serie,
turno, turma, professora, status, etc, etc, etc, etc, etc,
etc, etc,
etc...) VALUE (etc, etc, etc...);"
De já, agradeço a ajuda!
Grande abraço a todos!
_______________________________________________
pgbr-geral mailing list
[email protected]
<mailto:[email protected]>
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
<mailto:[email protected]>
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
<mailto:[email protected]>
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral