From: "Dawid Kuroczko"

> > It can't have anything to do with the 'uniqueness' of the data, since I
can
> > have a lot of 'zero'-values in the column, as long as the combination of
> > columns in the PRIMARY key results in unique values.
>
> Because it is a PRIMARY KEY.  I mean phrase 'PRIMARY KEY' means "a key
> with which each row can be explicitly addressed".  So if you have 2000
> rows in a table, you can write 2000 SELECT statemens which will use
> columns in primary key and each of these SELECT statements will
> return exactly one (different) row.
With the NULL values included it will still uniquely identify each row...

I would understand it if it would mean that the key as a whole could not be
NULL, but the restriction that each column that is part of a PRIMARY KEY
must have the NOT NULL constraint is not logical.

> If your PRIMARY KEY would allow NULL values, it would not be possible
> to address these rows with NULL values (*) and therefore it would not
> be a real primary key, by definiton.  It would be a unique key.

That would be true for the entire key, but not for each part of the key...

Regards, Jigal.


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to