Stephan Szabo <[EMAIL PROTECTED]> writes: > On Tue, 16 Apr 2002, Rod Taylor wrote: >> You'll notice there isn't a primary key at all -- which shouldn't be >> an issue as there is still the unique.
> If you're not specifying the columns in the references constraint, it > means specifically referencing the primary key of the table. If there > is no primary key, it's an error ("If the <referenced table and columns> > does not specify a <reference column list>, then the table descriptor > of the referenced table shall include a unique constraint that specifies > PRIMARY KEY.") Not sure if Rod got the point here, but: you *can* reference a column that's only UNIQUE and not PRIMARY KEY. You just have to name it explicitly, eg. regression=# create table stuff2 (stuff_id int4 references stuff(stuff_id) regression(# on update cascade on delete cascade); NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s) CREATE This is all per-spec, AFAIK. >> If thats the case, then unique indecies need to be blocked until there >> is a primary key, or the first one should be automatically marked as >> the primary key. That would be contrary to spec, and I see no need for it... regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly