[firebase-br] ¿Por qué no puedo crear una nueva clave primaria?

Eduardo Jedliczka edujed em gmail.com
Ter Jul 26 08:03:51 -03 2011


(Não me arrisco a responder em espanhol).

W O, bom dia.

Pelo que vejo seu problema se resume ao fato que o novo campo criado
"aceita" nulls, ou seja, faltou a identificação de NOT NULL no mesmo.

Antes do banco verificar os valores povoados na tabela (para saber se
realmente são únicos), ele precisa verificar os tipos dos campos.

A mesma regra vale Para as FKs. Já vi muitas pessoas terem problemas porque
não reparam na diferença de precisão (ou tamanho) dos campos envolvidos.

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================



2011/7/25 W O <sistemas2000profesional em gmail.com>

> Gracias Reijanio
>
> Yo lo solucioné eliminando la tabla y volviéndola a crear.
>
> Pude hacerlo bien porque tenía solamente 19 filas, pero no quisiera que
> algo
> así me ocurriera en una tabla que tenga miles de filas, por eso pregunté si
> alguien conocía la causa y la solución del problema.
>
> Saludos.
>
> Walter.
>
>
>
> 2011/7/25 Reijanio Nunes Ribeiro <rnribeiro em gmail.com>
>
> > s completando vc cria a tabela paralela extrai o metadata da tabela
> antiga
> > e
> > insere na tabela nova e testa pra ver o que pode ser
> >
> > 2011/7/25 Reijanio Nunes Ribeiro <rnribeiro em gmail.com>
> >
> > > backup/restore
> > >
> > > porem vc pode fazer um teste criando uma tabela paralela com a mesma
> > > estrutura e testar, se for um ug no fiebird vai dar erro igual
> > >   2011/7/22 W O <sistemas2000profesional em gmail.com>
> > >
> > >> Gracias Odir
> > >>
> > >> Es extraño, porque no hay valores nulos en la columna IDENTI, pero aún
> > así
> > >> no puedo crear la clave primaria.
> > >>
> > >> Gracias por tu consejo.
> > >>
> > >> Saludos.
> > >>
> > >> Walter.
> > >>
> > >>
> > >>
> > >> 2011/7/22 <odir em clippnet.com.br>
> > >>
> > >> > Experimente executar o seguinte comando e depois criar a chave
> > primária:
> > >> > update DEPARTAMENTOS set IDENTI=0 (ou ' ' se o campo for alfa) where
> > >> > IDENTIis null
> > >> >
> > >> > Odir Rodrigues de Oliveira
> > >> > Clipp-net Informática
> > >> > São Carlos - SP
> > >> > Fone/Fax: 16 3307-7369
> > >> > Cel: 16 8137-2103
> > >> > Msn: clippnet em hotmail.com
> > >> > Skype: odir_r
> > >> > Site: www.clippnet.com.br
> > >> > -----Original Message----- From: W O
> > >> > Sent: Thursday, July 21, 2011 11:47 PM
> > >> > To: FireBase
> > >> > Subject: [firebase-br] ¿Por qué no puedo crear una nueva clave
> > primaria?
> > >> >
> > >> >
> > >> > Hola a todos
> > >> >
> > >> > Tengo una tabla llamada DEPARTAMENTOS
> > >> >
> > >> > - Tenía una clave primaria según las columnas CODSUC y CODLOC
> > >> > - Le borré la clave primaria
> > >> > - Le agregué una nueva columna, llamada IDENTI
> > >> > - Rellené la columna IDENTI con valores distintos, uno por cada fila
> > >> > - Quise crear una nueva clave primaria, con la columna IDENTI
> > >> > - Pero es imposible, me muestra un mensaje que dice: 'validation
> error
> > >> for
> > >> > column IDENTI, value "*** null ***"'
> > >> > - Sin embargo, si escribo:
> > >> >      SELECT IDENTI FROM DEPARTAMENTOS
> > >> >   no hay valores nulos, la columna IDENTI no tiene valores nulos
> > >> > - Probé haciendo un GBAK -backup y después un GBAK -create
> > >> > - Me conecté a la nueva base de datos
> > >> > - Y el mismo mensaje de error sigue apareciendo cuando quiero crear
> > una
> > >> > nueva clave primaria con la columna IDENTI
> > >> >
> > >> > ¿Por qué no puedo crear la clave primaria siendo que no hay valores
> > >> nulos?
> > >> > ¿Cuál es la solución? ¿Alguien sabe?
> > >> >
> > >> > Saludos.
> > >> >
> > >> > Walter.
> > >> > ______________________________**________________
> > >> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > >> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > >> > http://www.firebase.com.br/fb/**artigo.php?id=1107<
> > >> http://www.firebase.com.br/fb/artigo.php?id=1107>
> > >> > Para consultar mensagens antigas: http://firebase.com.br/**pesquisa
> <
> > >> http://firebase.com.br/pesquisa>
> > >> >
> > >> > ______________________________**________________
> > >> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > >> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > >> > http://www.firebase.com.br/fb/**artigo.php?id=1107<
> > >> http://www.firebase.com.br/fb/artigo.php?id=1107>
> > >> > Para consultar mensagens antigas: http://firebase.com.br/**pesquisa
> <
> > >> http://firebase.com.br/pesquisa>
> > >>  >
> > >> ______________________________________________
> > >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> > >> http://www.firebase.com.br/fb/artigo.php?id=1107
> > >> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >>
> > >
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista