SQL数据约束疑惑

SQL data constraints doubts

在SQL中,能否设置一个允许null值唯一的列?

如果 table 包含多行且该列的值为 null 会怎样?

如果您在另一个 table 中为该列指定外键,并且引用 table 中的元组包含外键的 null 值,会发生什么情况?

在 mysql 中具有唯一索引的列集中,您可以根据需要拥有任意数量的带 null 的行。检查下面的 table:

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);

您可以向此 table 添加任意数量的记录,可空字段为空值。

我想我发明了这个名字 nullable :)。