My SQL schema is
CREATE TABLE Foo (
`bar` INT NULL ,
`name` VARCHAR (59) NOT NULL ,
UNIQUE ( `name`, `bar` )
) ENGINE = INNODB;
MySQL is allowing the following statement to be repeated, resulting in duplicates.
INSERT INTO Foo (`bar`, `name`) VALUES (NULL, 'abc');
despite having
UNIQUE ( `name`, `bar` )
Why is this tolerated and how do I stop it?
Warning: This answer is outdated. As of MySQL 5.1, BDB is not supported.
It depends on
MySQL Engine Type.BDBdoesn’t allow multipleNULLvalues usingUNIQUEbutMyISAMandInnoDBallows multipleNULLs even withUNIQUE.