Primary keys and NOT NULL
Hi -
I noticed that all of my primary keys are specified as not null and I did
not specify not null when I built the tables. Does Postgres automatically
make all primary keys not null? This is a problem for me because I have a
few tables that have multiple column primary keys where one of the columns
may be null. Is there any way for me to change the not null specification?
or is that a requirement for primary keys in Postgres? This was not the
case in Oracle....which is where I'm trying to port my data from.
--
Susan Lane
DPN, Incorporated
4631 Spring Mountain Road
Las Vegas, NV 89102
Email suel@dpn.com
Ph. (702) 873-3282
Fax (702) 873-3913
http://www.dpn.com
On Thu, 11 Jul 2002, Susan Lane wrote:
Hi -
I noticed that all of my primary keys are specified as not null and I did
not specify not null when I built the tables. Does Postgres automatically
make all primary keys not null? This is a problem for me because I have a
few tables that have multiple column primary keys where one of the columns
may be null. Is there any way for me to change the not null specification?
or is that a requirement for primary keys in Postgres? This was not the
case in Oracle....which is where I'm trying to port my data from.
At least SQL92, primary keys are not satisifed if any of the values are
null, by my reading:
"A unique constraint is satisfied if and only if no two rows in
a table have the same non-null values in the unique columns. In
addition, if the unique constraint was defined with PRIMARY KEY,
then it requires that none of the values in the specified column or
columns be the null value."
Do you really need this as a primary key as opposed to a unique
constraint?