From: | "Shridhar Daithankar" <shridhar_daithankar(at)persistent(dot)co(dot)in> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: serial type as foreign key referential integrity violation |
Date: | 2002-09-03 13:51:32 |
Message-ID: | 3D750BBC.18613.4D464337@localhost |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 31 Aug 2002 at 5:28, Zhicong Leo Liang wrote:
> Hi all,
> Just briefly describe my problem.
> I have two tables.
> create table A(
> a1 serial primary key,
> a2 varchars(10)
that should be varchar..
> );
> create table B(
> b1 integer primary key,
> b2 Integer,
> foreign key(b2) references a(a1)
> )
> insert into A values('123');
> select a1 from A where a2='123'
> >--
> >a1
> >--
> >1
> >--
> insert into B values (1,1);
> ERROR!! referential integrity violation - key referenced from B not found in A.
this works.. I guess it's matter of writing a bit cleaner sql if nothing else.
I am using postgresql-7.2-12mdk with mandrake8.2.
I don't know which approach is better or correct, yours or mine. But this
solves your problems at least..
test=# select * from a;
a1 | a2
-----+----
123 |
(1 row)
test=# insert into A(a2) values('123');
INSERT 4863345 1
test=# select * from a;
a1 | a2
-----+-----
123 |
1 | 123
(2 rows)
test=# insert into b(b1,b2) values(1,1);
INSERT 4863346 1
test=# select * from a;
a1 | a2
-----+-----
123 |
1 | 123
(2 rows)
test=# select * from b;
b1 | b2
----+----
1 | 1
(1 row)
test=#
Bye
Shridhar
--
Concept, n.: Any "idea" for which an outside consultant billed you more than
$25,000.
From | Date | Subject | |
---|---|---|---|
Next Message | terry | 2002-09-03 13:54:01 | Re: pgaccess - where to store the own data |
Previous Message | Tom Lane | 2002-09-03 13:49:54 | Re: possible vacuum improvement? |