Thread: serial as FK ?
Hi there, what's wrong to use SERIAL as FK without explicit PRIMARY KEY or UNIQUE ? qq=# create table t1( id serial); NOTICE: CREATE TABLE will create implicit sequence "t1_id_seq" for "serial" column "t1.id" CREATE TABLE qq=# create table t2( id2 int4 references t1(id)); ERROR: there is no unique constraint matching given keys for referenced table "t1" btw, Richard, I noticed this problem when looked into your example database http://www.archonet.com/pgdocs/chap-exdb.html#EXAMPLE-TABLES Regards, Oleg _____________________________________________________________ Oleg Bartunov, sci.researcher, hostmaster of AstroNet, Sternberg Astronomical Institute, Moscow University (Russia) Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83
On Mon, 28 Feb 2005, Oleg Bartunov wrote: > what's wrong to use SERIAL as FK without explicit PRIMARY KEY or UNIQUE ? Serial isn't enough to guarantee uniqueness as required by foreign keys.
On Mon, 28 Feb 2005, Stephan Szabo wrote: > > On Mon, 28 Feb 2005, Oleg Bartunov wrote: > >> what's wrong to use SERIAL as FK without explicit PRIMARY KEY or UNIQUE ? > > Serial isn't enough to guarantee uniqueness as required by foreign keys. you're certainly right ! > Regards, Oleg _____________________________________________________________ Oleg Bartunov, sci.researcher, hostmaster of AstroNet, Sternberg Astronomical Institute, Moscow University (Russia) Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(095)939-16-83, +007(095)939-23-83