小编典典

停止MySQL在UNIQUE约束中允许多个NULL

sql

我的SQL模式是

CREATE TABLE Foo (
 `bar` INT NULL ,
 `name` VARCHAR (59) NOT NULL ,
 UNIQUE ( `name`, `bar` )
) ENGINE = INNODB;

MySQL允许重复以下语句,从而导致重复。

INSERT INTO Foo (`bar`, `name`) VALUES (NULL, 'abc');

尽管有

UNIQUE ( `name`, `bar` )

为什么可以忍受,我如何制止它?


阅读 199

收藏
2021-04-07

共1个答案

小编典典

警告:此答案已过时。 从MySQL 5.1开始,不支持BDB。

这取决于MySQL EngineTypeBDB不允许NULL使用多个值,UNIQUE但即使使用MyISAMInnoDB允许多个。NULL``UNIQUE

2021-04-07