[firebase-br] erro ao inserir dados em FK

Natália Maciel natinhamg em gmail.com
Seg Dez 8 17:20:38 -03 2008


Mando sim, segue :

    CREATE TABLE ASSUNTO (
    IDASSUNTO INTEGER NOT NULL,
    ASSUNTO VARCHAR(100) CHARACTER SET NONE COLLATE NONE ,
    primary key (idassunto)
    );

CREATE TABLE AUTOR (
    IDAUTOR INTEGER NOT NULL,
    NOME VARCHAR(200) CHARACTER SET NONE NOT NULL COLLATE NONE,
    primary key (idautor)
    );

CREATE TABLE AUTOR_ARQUIVO(
    IDAUTORFK INTEGER NOT NULL,
    CODARQUIVOFK INTEGER NOT NULL,
    primary key (idautorfk, codarquivofk)
    );

CREATE TABLE PALAVRAS_CHAVE (
    IDPALAVRA INTEGER NOT NULL,
    PALAVRA VARCHAR(50) CHARACTER SET NONE NOT NULL COLLATE NONE,
    primary key (idpalavra)
    );

CREATE TABLE ARQUIVO (
    IDARQUIVO INTEGER NOT NULL,
    TITULO VARCHAR(300) CHARACTER SET NONE NOT NULL COLLATE NONE,
    ARQUIVO BLOB SUB_TYPE 1 NOT NULL,
    DATA_PUB DATE,
    TIPO_ARQUIVO VARCHAR(50) CHARACTER SET NONE COLLATE NONE,
    primary key (idarquivo)
    );

CREATE TABLE ARQUIVO_ASSUNTO (
    IDARQUIVOFK INTEGER NOT NULL,
    IDASSUNTOFK INTEGER NOT NULL,
    primary key (idarquivofk, idassuntofk)
    );

CREATE TABLE ARQUIVO_PALAVRAS (
    CODARQFK INTEGER NOT NULL,
    CODPALAVRAFK INTEGER NOT NULL,
    primary key (codarqfk, codpalavrafk)
    );
ALTER TABLE AUTOR_ARQUIVO ADD CONSTRAINT CODARQUIVOFK FOREIGN KEY
(CODARQUIVOFK) REFERENCES ARQUIVO (IDARQUIVO);
ALTER TABLE AUTOR_ARQUIVO ADD CONSTRAINT IDAUTORFK FOREIGN KEY (IDAUTORFK)
REFERENCES AUTOR (IDAUTOR);
ALTER TABLE ARQUIVO_ASSUNTO ADD CONSTRAINT IDASSUNTOFK FOREIGN KEY
(IDASSUNTOFK) REFERENCES ASSUNTO (IDASSUNTO);
ALTER TABLE ARQUIVO_ASSUNTO ADD CONSTRAINT IDARQUIVOFK FOREIGN KEY
(IDARQUIVOFK) REFERENCES ARQUIVO (IDARQUIVO);
ALTER TABLE ARQUIVO_PALAVRAS ADD CONSTRAINT CODPALAVRAFK FOREIGN KEY
(CODPALAVRAFK) REFERENCES PALAVRAS_CHAVE (IDPALAVRA);
ALTER TABLE ARQUIVO_PALAVRAS ADD CONSTRAINT CODARQFK FOREIGN KEY (CODARQFK)
REFERENCES ARQUIVO (IDARQUIVO);

2008/12/8 Sandro Souza <escovadordebits em gmail.com>

> Bom dia/tarde Natália.
>
> A mensagem de erro diz que está tentando violar a chave estrangeira
> "CODARQFK" da tabela "ARQUIVO_PALAVRAS".
>
> Você poderia enviar o comando de criação dessa chave estrangeira?
>
> Para lhe ajudar melhor, você poderia postar todo o script de criação do seu
> banco de dados, aí poderiamos lhe ajudar melhor e até sugerir melhorias
> para
> facilitar a sua vida.
>
> 2008/12/7 Natália Maciel <natinhamg em gmail.com>
>
> > Pessoal criei uma tabela auxiliar com dois campos que são PK e também FK,
> > pois esta tabela só serve para relacionar duas outrs cujo relacionamento
> é
> > N.. M.. Acontece que quando tento entrar com algum dado já existente nas
> > outras duas tabelas para fazer a relação entre eles o Ibexpert me retorna
> > um
> > erro. O comando que digito é o seguinte:
> >
> > insert into arquivo_palavras values (2,10);
> >
> > ONde 2 é o valor de codarqfk que faz referencia a idarquivo na tabela
> > arquivo e 10 é o valor de codpalavra que faz referencia a idpalavra na
> > tabela palavra chave, ambos os valores existem nas tabelas relacionadas,
> > mas
> > o erro que me retorna é o seguinte:
> >
> > *Unsuccessful execution caused by system error that does not preclude
> > successful execution of subsequent statements.
> > lock conflict on no wait transaction.
> > violation of FOREIGN KEY constraint "CODARQFK" on table
> > "ARQUIVO_PALAVRAS".*
> >
> > Alguem poderia me ajudar a entender que erro é este?
> >
> >
> > Obrigada
> >
> >
> >
> > --
> > []s,
> > Naty
> > ______________________________________________
> > 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
>



-- 
[]s,
Naty



Mais detalhes sobre a lista de discussão lista