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

Cleidson B Silva cleidson.developer em gmail.com
Seg Mar 26 18:26:25 -03 2007


Murilo,

A tabela pedidos tem apenas um registro, que criei pra efeito de teste.
Esse registro possui o PEDIDO_ID = 1.

Esse negocio é meio estranho porque ta acontecendo com varias tabelas do 
banco, e antes tava tudo normal.


Murilo -> CPR Sistemas escreveu:
> 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
>>
> 
> 
> ______________________________________________
> 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