[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