题目
以下关于SQL中主键约束的描述,正确的是?A. 主键可以包含重复值B. 主键列的值不能为NULLC. 一个表可以有多个主键D. 主键只能由单个列组成
以下关于SQL中主键约束的描述,正确的是?
A. 主键可以包含重复值
B. 主键列的值不能为NULL
C. 一个表可以有多个主键
D. 主键只能由单个列组成
题目解答
答案
B. 主键列的值不能为NULL
解析
本题考查SQL中主键约束的相关知识。解题思路是根据主键约束的定义和特性,对每个选项进行逐一分析判断。
- 选项A:
- 主键的一个重要特性是唯一性,即主键的值必须是唯一的,不能包含重复值。
- 例如,在一个学生信息表中,如果将学生的学号设为主键,每个学生的学号都应该是不同的,不能有两个学生有相同的学号。所以选项A错误。
- 选项B:
- 主键列的值不能为NULL,这是主键约束的基本要求。
- 因为主键用于唯一标识表中的每一行记录,如果主键值为NULL,就无法准确地标识某一行记录。
- 比如在上述学生信息表中,每个学生都必须有一个学号,不能有学生的学号为空。所以选项B正确。
- 选项C:
- 一个表只能有一个主键,但这个主键可以由一个或多个列组成。
- 例如,在一个选课信息表中,可能需要通过学生学号和课程编号共同来唯一确定一条选课记录,此时可以将学生学号和课程编号组合作为主键,但这仍然是一个主键,而不是多个主键。所以选项C错误。
- 选项D:
- 主键可以由单个列组成,也可以由多个列组成。
- 如前面提到的选课信息表,就是由学生学号和课程编号两个列组成主键。所以选项D错误。