我内心一直认为 UNIQUE KEY 是唯一的
- 只允许出现一个 null
- 但是联合索引 索引就打破了这个魔咒
请看演示
为 null
原因
-
唯一索引的作用是确保组成索引的字段的值是唯一的。
-
users 唯一索引是由 name、email 和 lebal 字段组成的。
-
users 这三个字段的组合在表中已经存在,则会触发唯一性约束错误,并阻止插入重复数据。
-
然而,第一次插入时 lebal 字段的值是 NULL,
-
第二次插入时 lebal 字段的值同样是 NULL。
-
由于 NULL 不与任何非 NULL 值相等,
-
这两个记录在唯一索引的范围内仍然被认为是不同的。
-
因此,虽然 name 和 email 字段的值相同,但由于 lebal 字段的值不同,这两个插入操作仍然被允许。