>> Gente,
>> Estou aprendendo PostgreSQL e gostaria de saber o porque desse
erro.
>> Tenho duas tabelas com os seguintes dados:
>> tb_centro_custo
>> id_centro_custo | nm_centro_custo |
>>
------------------------------------
>> 1
desenvolvimento
>> 2 administrativo
>> 3 financeiro
>> tb_projeto
>> id_projeto | nm_projeto | id_centro_custo |
>>
-------------------------------------------
>> 1
Sistema PHP 1
>> 2 Automação
2
>> Elas foram criadas da seguinte forma:
>> CREATE TABLE tb_centro_custo(id_centro_custo SERIAL NOT NULL,
nm_centro_custo varchar(80), PRIMARY KEY(id_centro_custo))");
>> CREATE TABLE tb_projeto(id_projeto SERIAL NOT NULL, nm_projeto
varchar(80), id_centro_custo SERIAL REFERENCES tb_centro_custo, PRIMARY
KEY(id_projeto))");
>> O QUE FIZ DE ERRADO !?
>> Obrigada,
>> Warning: pg_query() [function.pg-query]:
Query failed: ERROR: insert or update on table "tb_projeto" violates
foreign key constraint "tb_projeto_id_centro_custo_fkey" DETAIL: Key
(id_centro_custo)=(10) is not present in table "tb_centro_custo". in
D:\Inetpub\teste\SISTEMA\inserir_dados.php on line
42
>> --
>> Milena Leite
>> >> >> >> >> >> >> >>
>> >> >>
Boa tarde Milena
Eu acredito
que o problema está na criação da tabela tb_projeto, na
parte onde vc identifica um FK como SERIAL:
.... id_centro_custo SERIAL
REFERENCES tb_centro_custo ...
Isso é uma fk para a tabela
tb_centro_custo e não um SERIAL.
De uma olhada no manual
(http://pgdocptbr.sourceforge.net/pg80/sql-createtable.html) que acho que
vai te dar uma esclarecida
Espero ter ajudado.
Abraço
José Mario Barduchi
TI - Tecnologia da
Informação
Grupo Wheaton Brasil
Fones:
(11) 4355 -
1931
(11) 4355 - 1800
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios