Re: Foreign Keys

From: Ben <bench(at)silentmedia(dot)com>
To: Thomas LeBlanc <thomasatiem(at)hotmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Foreign Keys
Date: 2003-11-21 20:47:45
Message-ID: Pine.LNX.4.44.0311211246180.7403-100000@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

My understanding of forign keys is that the constraint is only checked
when the values are non-null. I'm not aware of any way to say "keep the
value non-null unless there is a null in the column referenced."

On Fri, 21 Nov 2003, Thomas LeBlanc wrote:

> I am able to enter a null in a foreign key field in one table(table2)
> without the foreign key relationship (table1.t1_id) validating the value.
> Why is this?
>
> Below are 2 table's scripts:
>
> create table table1 (
> t1_id VARCHAR(32) not null,
> t1_desc VARCHAR(32) null,
> constraint table1_pkey primary key (t1_id) ) ;
>
>
> create table table2 (
> t2_id VARCHAR(32) not null,
> t1_id VARCHAR(32) null,
> t2_desc VARCHAR(32) null,
> constraint table2_pkey primary key (t2_id) ) ;
>
> create index table2_t1_id
> on table2 ( t1_id ) ;
>
> alter table table2
> add constraint table1_table2_t1_id_FK1
> foreign key ( t1_id )
> references table1 ( t1_id )
> ON DELETE RESTRICT ON UPDATE CASCADE ;
>
> _________________________________________________________________
> Is there a gadget-lover on your gift list? MSN Shopping has lined up some
> good bets! http://shopping.msn.com
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Carmen Gloria Sepulveda Dedes 2003-11-21 20:53:50 Re: Execute vacuum
Previous Message Carmen Gloria Sepulveda Dedes 2003-11-21 20:37:53 Re: Execute vacuum