> > 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]