At 15:00 -0500 2/22/05, Gustafson, Tim wrote:
Hi there!

I have a table, defined as follows:

CREATE TABLE `WebSiteDomainNames` (
  `ID` int(10) unsigned NOT NULL auto_increment,
  `WebSite` int(10) unsigned NOT NULL default '0',
  `DomainName` int(10) unsigned NOT NULL default '0',
  `Alias` char(16) default NULL,
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `DomainName` (`DomainName`,`Alias`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1

The way I read this definition, it should be impossible for someone to
put in two rows with the same DomainName and Alias, however, right now I
have the following rows in the table:

+-----+---------+------------+-------+
| ID  | WebSite | DomainName | Alias |
+-----+---------+------------+-------+
| 543 |    1086 |       1334 | NULL  |
| 545 |    1086 |       1334 | NULL  |
| 509 |    1086 |       1334 | *     |
+-----+---------+------------+-------+

And I can insert even more NULL rows if I want to.  Shouldn't the UNIQUE
key prevent this from happening?

Not for NULL values, no. See the description for UNIQUE indexes here:

http://dev.mysql.com/doc/mysql/en/create-table.html

--
Paul DuBois, MySQL Documentation Team
Madison, Wisconsin, USA
MySQL AB, www.mysql.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