> > [snip]
> > The same is true for any other value... Now that the columns have a NOT
> > NULL
> > constraint the records that previously contained NULL now hold '0'.
> > x y
> > x 0
> > x z
> > x 0
> > Now, how do you uniquely identify the 2nd and 4th rows?
> > [/snip]
> > The database would have thrown an error when you tried to create row 4.
> No. NULL is not a value. It is a lack of value. Kind of a special
> symbol, like infinity in mathematics. You cannot say that
Actually, it's not even the "lack of value".
NULL is a state. A column can have two states: NULL or NON NULL.
WHERE mycolumn IS NOT NULL
mycolumn IS NULL
Besides a non-null state, it can have many values :-)
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL