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]>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]>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] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > > _______________________________________________ > pgbr-geral mailing > [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
