From: | Ron <ronljohnsonjr(at)gmail(dot)com> |
---|---|
To: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: ADD FOREIGN KEY fails, but the records exist |
Date: | 2021-02-15 17:02:37 |
Message-ID: | d3d956e7-57af-ee44-13d5-007f9e83a8cd@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2/15/21 10:58 AM, Adrian Klaver wrote:
> On 2/15/21 8:55 AM, Ron wrote:
>>
>>
>> On 2/15/21 10:27 AM, Adrian Klaver wrote:
>>> On 2/15/21 8:23 AM, Ron wrote:
>>>> On 2/15/21 10:17 AM, Adrian Klaver wrote:
>>>>> On 2/15/21 8:12 AM, Ron wrote:
>>>>>> Postgresql 12.5
>>>>>>
>>>
>>>>> The error:
>>>>>
>>>>> DETAIL: Key (amended_response_id, part_date)=(103309154, 2021-01-06
>>>>> 00:00:00) is not present in table "employer_response"
>>>>>
>>>>> is pointing at 103309154 for amended_response_id =
>>>>> employer_response_id. You are showing an employer_response_id of
>>>>> 103309156
>>>>
>>>> But my query's WHERE clause specifies "amended_response_id =
>>>> 103309154;" (I've highlighted it, if you have a GUI MUA.)
>>>
>>> Yes but amended_response_id is referencing employer_response_id. So do
>>> you have a record that matches:
>>>
>>> employer_response_id part_date
>>>
>>> 103309154 2021-01-06 00:00:00
>>
>> The time portions of the part_date fields don't match...
>>
>> sides=> ALTER TABLE employer_response
>> ADD CONSTRAINT amended_response_fk FOREIGN KEY (amended_response_id,
>> part_date)
>> REFERENCES employer_response(employer_response_id, part_date)
>> ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED ;
>> ERROR: insert or update on table "employer_response_p2021_01" violates
>> foreign key constraint "amended_response_fk"
>> DETAIL: Key (amended_response_id, part_date)=(103309154, 2021-01-06
>> 00:00:00) is not present in table "employer_response".
>> sides=>
>>
>> sides=> select employer_response_id, amended_response_id, part_date
>> from strans.employer_response
>> where amended_response_id = 103309154;
>> employer_response_id | amended_response_id | part_date
>> ----------------------+---------------------+---------------------
>> 103309156 | *103309154 *| 2021-01-06*00:00:00*
>> (1 row)
>>
>> sides=>
>> sides=>
>> sides=> select employer_response_id, amended_response_id, part_date
>> from strans.employer_response
>> where employer_response_id = 103309154;
>> employer_response_id | amended_response_id | part_date
>> ----------------------+---------------------+---------------------
>> *103309154* | | 2021-01-06 *15:14:03*
>> (1 row)
>>
>
> Well since it is the same column(type) then it had to be something in the
> transfer of the data from Oracle to Postgres. What are the values on the
> Oracle end?
That's a good question, which I don't know the answer to.
--
Angular momentum makes the world go 'round.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2021-02-15 17:03:56 | Re: ADD FOREIGN KEY fails, but the records exist |
Previous Message | Adrian Klaver | 2021-02-15 16:58:34 | Re: ADD FOREIGN KEY fails, but the records exist |