我的工作
主键是唯一的,并且只有一个包含表。
表中可以包含许多唯一键。
在 SQL Server 中,主键不可为 Null。但是,唯一键可能只包含一个空值。
我的问题:
实际上,在 SQL Server 中,主键不可为空。但是从理论上讲,当它允许唯一键中的 Null 值时,为什么我们不能在主键中只有一个 Null 值呢?
谢谢回答我的问题
很抱歉问了一个一般性问题,在阅读了答案后,我对 DB 中的空值有了一个清晰的了解。
此外,我对 C++、Jave 等编程语言感到困惑,在这些语言中,空值可以进行比较。做了一些工作后,我明白Null 在SQL 中是没有可比性的。
在 C++、Java 等编程语言中...
Null==Null
Run Code Online (Sandbox Code Playgroud)
返回真
但是,在 SQL 中
Null==Null
Run Code Online (Sandbox Code Playgroud)
返回 FALSE,因为 Null 值是未知的,它可以是任何值。