> > create table a (
> >    b int not null,
> >    c int null
> >    primary_key(b,c)
> > );
> >
> > With values:
> > 1 null
> > 1 null
> >
> > Logically these are unique records under the standard proviso that
> > null != null.  Yet how could I uniquely identify the first row to delete
> > that row?
>
> First of all NULL is neither equal nor not-equal to NULL. The outcome of
> comparing NULL to NULL is unknown AKA 'NULL' ;-)
>
> Secondly, the previous line is only true for comparing values within
> queries. If it comes to UNIQUE indexes than most of the time NULL != NULL,
> but in the case of BDB tables NULL = NULL (only a single NULL entry can be
> present in the UNIQUE index of a BDB table).

But an unique INDEX is not a Primary Key constraint. So actually that
has nothing to do with it :-)

> While BDB tables are not the role model for other table types I used this
> example to indicate that MySQL is capable of handling NULLs this way.
>
> Thirdly, if NULL=NULL for such an index then the secod row could not have
> been inserted in the first place.

With regards,

Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL
Server
Upscene Productions
http://www.upscene.com


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

Reply via email to