[firebase-br] violation of FOREIGN KEY constraint "".

Murilo -> CPR Sistemas murilo em cprinformatica.com.br
Seg Mar 26 17:50:38 -03 2007


provavelmente existe algum registro na tabela "PEDIDOS_ITENS" ligando 
com a tabela pedidos porém o código "pedido_id" gravado na tabela 
"PEDIDOS_ITENS" já não existe mais na tabela "PEDIDO"...

PEDIDO
1---
2---
4---

PEDIDO_ITEM
ID_PEDIDOITEM   ID_PEDIDO
1---              1
2---              2
3---              3 (<- Aqui)
4---              4

Cleidson Developer escreveu:
> Alguém sabe me dizer o que significa esse erro ai ?
> 
> Estou executando uma instrucao SQL usando o IBEXPERT e ta dando esse erro.
> 
> violation of FOREIGN KEY constraint "".
> violation of FOREIGN KEY constraint "FK_PEDIDOS_ITENS_PEDIDOS" on table 
> "PEDIDOS_ITENS".
> 
> Teoricamente seria porque eu estaria violando a chave estrangeira, mas 
> os dados que estou usando na instrucao INSERT existem nas tabelas 
> relacionadas.
> 
> Ta ai a estrutura delas:
> 
> Estrutura da tabela PEDIDOS_ITENS:
> 
> CREATE TABLE PEDIDOS_ITENS (
>      PEDIDOS_ITENS_ID  DM_CAMPOCHAVE NOT NULL /* DM_CAMPOCHAVE = BIGINT */,
>      PEDIDO_ID         DM_CAMPOCHAVE NOT NULL /* DM_CAMPOCHAVE = BIGINT */,
>      QUANTIDADE        INTEGER NOT NULL,
>      PRODUTO_ID        INTEGER NOT NULL,
>      PRECO_UNIT        FLOAT NOT NULL,
>      TIPO              VARCHAR(15)
> );
> 
> ALTER TABLE PEDIDOS_ITENS ADD CONSTRAINT PK_PEDIDOS_ITENS PRIMARY KEY 
> (PEDIDOS_ITENS_ID);
> 
> ALTER TABLE PEDIDOS_ITENS ADD CONSTRAINT FK_PEDIDOS_ITENS_PEDIDOS 
> FOREIGN KEY (PEDIDO_ID) REFERENCES PEDIDOS (PEDIDO_ID) ON DELETE CASCADE 
> ON UPDATE CASCADE;
> 
> CREATE INDEX PEDIDOS_ITENS_IDX_PEDIDO_ID ON PEDIDOS_ITENS (PEDIDO_ID);
> CREATE INDEX PEDIDOS_ITENS_PRODUTO_ID_A ON PEDIDOS_ITENS (PRODUTO_ID);
> 
> 
> Estrutura da tabela PEDIDOS:
> 
> CREATE TABLE PEDIDOS (
>      PEDIDO_ID       DM_CAMPOCHAVE NOT NULL /* DM_CAMPOCHAVE = BIGINT */,
>      NUMPEDIDO       VARCHAR(15),
>      VENDEDOR_ID     INTEGER NOT NULL,
>      CLIENTE_ID      INTEGER NOT NULL,
>      DATA_PEDIDO     DATE NOT NULL,
>      COMISSAO        FLOAT NOT NULL,
>      DESCONTO        FLOAT NOT NULL,
>      VALOR_DESCONTO  FLOAT NOT NULL
> );
> 
> Instrução que está sendo executada:
> 
> INSERT INTO
>      pedidos_itens(
>      pedidos_itens_id,
>      PEDIDO_ID,
>      QUANTIDADE,
>      PRODUTO_ID,
>      PRECO_UNIT,
>      TIPO)
> VALUES
>      (1,1,1,1,15,'Brinde')
> 
> 
> 
> Outro detalhe é que esse erro comecou a aparecer em outras tabelas do 
> mesmo DB. Já recriei o DB do zero e isso continua.
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista