> > > It can't have anything to do with the 'uniqueness' of the data, since
> > > have a lot of 'zero'-values in the column, as long as the combination
> > > 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
> NULL, but the restriction that each column that is part of a PRIMARY KEY
> must have the NOT NULL constraint is not logical.
mytable with PK
now, given that NULL <> NULL ... what row would 1, NULL identify?
Or would you only allow a single NULL for each part of the PK?
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL