在SQL中,可以设置一个允许null
值唯一的列吗?
如果表中包含多个具有该列null
值的行,会发生什么情况?
如果在另一个表中为该列指定外键,而引用表中的元组包含外键的null
值,会发生什么情况?
在mysql中,在一个具有唯一索引的列集中,可以有任意数量的null
行。检查下表:
CREATE TABLE `test1` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`nullable` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `nullable` (`nullable`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INTO `test1` (`id`, `nullable`)
VALUES
(1, NULL),
(2, NULL),
(3, NULL);
您可以向该表中添加任意数量的记录,其中可为null的字段中包含null。
我想我发明了nullable
:)这个名字。